Qore xml Module 2.1.0
Loading...
Searching...
No Matches
WebDavHandler::FileWebDavPropertyHandler Class Reference

A file-based property handler that persists properties to a JSON file. More...

#include <FileWebDavPropertyHandler.qc.dox.h>

Inheritance diagram for WebDavHandler::FileWebDavPropertyHandler:
WebDavHandler::AbstractWebDavPropertyHandler

Public Member Methods

void constructor (string base_path, string filename)
 Creates the handler with the given properties file path.
 
void destructor ()
 Destructor - ensures properties are saved.
 
soft< hash< auto > > get (string resource, string ns, DavNs, list< string > prop_names)
 Retrieves the value(s) of the given properties in the given namespace.
 
auto get (string resource, string ns, DavNs, string prop_name)
 Retrieves the value(s) of the given properties in the given namespace.
 
soft< hash< string, hash< auto > > > getAll (string resource)
 Returns all properties in all namespaces.
 
soft< hash< auto > > getAllInNamespace (string resource, string ns)
 Returns all properties in the given namespaces.
 
void set (string resource, string ns, auto value, DavNs, string prop_name)
 Sets a property value.
 
void del (string resource, string ns, DavNs, list< string > prop_names)
 Deletes one or more properties.
 
void del (string resource, string ns, DavNs, string prop_name)
 Deletes a property.
 
void delAll (string resource)
 Deletes all properties for the given resource.
 
void cp (string src_url, string target_url)
 Copies all properties to another target URL.
 
void move (string src_url, string target_url)
 Moves properties from one target URL to another.
 
void sync ()
 Forces an immediate save of properties to disk.
 
void load ()
 Loads properties from the file.
 
void save ()
 Saves properties to the file.
 
void saveAsync ()
 Asynchronously saves properties (debounced)
 
- Public Member Methods inherited from WebDavHandler::AbstractWebDavPropertyHandler
abstract auto get (string resource, string ns, DavNs, list< string > prop_names)
 Retrieves the value(s) of the given properties in the given namespace.
 
abstract auto get (string resource, string ns, DavNs, string prop_name)
 Retrieves the value(s) of the given properties in the given namespace.
 
abstract soft< hash< string, hash< auto > > > getAll (string resource)
 Returns all properties in all namespaces.
 
abstract soft< hash< auto > > getAllInNamespace (string resource, string ns)
 Returns all properties in the given namespaces.
 
abstract void set (string resource, string ns, auto value, DavNs, string prop_name)
 Sets a property value.
 
abstract void del (string resource, string ns, DavNs, list< string > prop_names)
 Deletes one or more properties.
 
abstract void del (string resource, string ns, DavNs, string prop_name)
 Deletes a property.
 
abstract void delAll (string resource)
 Deletes all properties for the given resource.
 
abstract void cp (string src_url, string target_url)
 Copies all properties to another target URL.
 
abstract void move (string src_url, string target_url)
 Moves properties from one target URL to another.
 

Private Attributes

string props_file
 Path to the properties file.
 
bool debug
 Debug flag.
 

Detailed Description

A file-based property handler that persists properties to a JSON file.

This handler stores WebDAV properties in a JSON file, allowing properties to persist across server restarts. The file is stored in the WebDAV base directory.

Member Function Documentation

◆ constructor()

void WebDavHandler::FileWebDavPropertyHandler::constructor ( string  base_path,
string  filename 
)

Creates the handler with the given properties file path.

Parameters
base_paththe base directory for WebDAV files
filenamethe name of the properties file (default: .webdav-props.json)

◆ getAll()

soft< hash< string, hash< auto > > > WebDavHandler::FileWebDavPropertyHandler::getAll ( string  resource)

Returns all properties in all namespaces.

Returns
a hash as NS -> property -> value

◆ getAllInNamespace()

soft< hash< auto > > WebDavHandler::FileWebDavPropertyHandler::getAllInNamespace ( string  resource,
string  ns 
)

Returns all properties in the given namespaces.

Returns
a hash as property -> value

The documentation for this class was generated from the following file: