Qore ConnectionProvider Module Reference 1.11
Loading...
Searching...
No Matches
ConnectionProvider::FilesystemConnection Class Reference

class for filesystem connections; returns an object of type Qore::Dir More...

#include <FilesystemConnection.qc.dox.h>

Inheritance diagram for ConnectionProvider::FilesystemConnection:
[legend]

Public Member Methods

 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the FilesystemConnection object More...
 
string getType ()
 returns "dir"
 
- Public Member Methods inherited from ConnectionProvider::AbstractConnectionWithInfo
 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the AbstractConnection object More...
 
hash< ConnectionSchemeInfogetConnectionSchemeInfo ()
 Returns the ConnectionSchemeInfo hash for this object.
 
*hash< auto > getDefaultOptions ()
 returns default options
 
*hash< auto > getOptions ()
 returns static / initialization options
 
- Public Member Methods inherited from ConnectionProvider::AbstractConnection
deprecated constructor (string name, string desc, string url, bool monitor, *hash opts, hash urlh, *string safe_url, *bool enabled)
 creates the AbstractConnection object More...
 
 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={}, *LoggerInterface logger)
 creates the AbstractConnection object More...
 
object get (bool connect=True, *hash< auto > rtopts)
 returns the underlying connection object More...
 
hash< ConfigInfogetConfigHash ()
 returns a ConfigInfo hash of static configuration information about the connection More...
 
hash< ConnectionSchemeInfogetConnectionSchemeInfo ()
 Returns a default ConnectionSchemeInfo hash.
 
hash< ConnectionSchemeInfogetConnectionSchemeInfoImpl ()
 Override in subclasses to return a native ConnectionSchemeInfo hash.
 
AbstractDataProvider getDataProvider ()
 returns a data provider object for this connection, if supported More...
 
*hash< auto > getDefaultOptions ()
 returns default options
 
string getDescription ()
 Returns the connection description. More...
 
hash< auto > getExtendedInfo (*hash< auto > opts)
 Returns connection info plus any extended information returned by the connection. More...
 
*hash< string, bool > getFeatures ()
 Returns a list of connection-defined features. More...
 
hash< ConnectionInfogetInfo (*hash< auto > opts)
 returns a ConnectionInfo hash of information about the connection More...
 
hash< ConnectionInfogetInfo (bool with_password=False)
 returns a ConnectionInfo hash of information about the connection More...
 
string getName ()
 Returns the connection name. More...
 
*hash< auto > getOptions ()
 returns static / initialization options
 
object getPollImpl ()
 Returns an unconnected object for a non-blocking poll operation. More...
 
*hash< auto > getRealOptions ()
 returns options for saving the connection's configuration information
 
*hash< auto > getRuntimeOptions ()
 returns runtime options
 
string getSafeUrl ()
 Returns the connection safe URL (without password info) More...
 
auto getTag (string tag)
 returns the value of the given tag or NOTHING if not present
 
auto getTagEx (string tag)
 returns the value of the given tag or throws an exception if the tag is not set with a value More...
 
hash< auto > getTags ()
 returns all tags associated with the connection
 
abstract string getType ()
 returns the string type name for the connection object
 
string getUrl ()
 Returns the connection URL. More...
 
 handlePingFailed (date delta, hash< ExceptionInfo > ex)
 Handles a failed ping operation on the connection.
 
 handlePingFailed (date delta, string err)
 Handles a failed ping operation on the connection.
 
 handlePingSuccess (date delta)
 Handles a successful ping operation on the connection.
 
bool hasDataProvider ()
 returns True if the connection returns a data provider with the getDataProvider() method More...
 
 parseTextOptions ()
 this method is called when parsing connection file definitions from text files when loading into the database More...
 
hash< PingInfoping (bool throw_exception=False)
 returns a hash with the results of the ping operation More...
 
Qore::AbstractPollOperation startPollConnect ()
 Called to start the connection polling operation. More...
 
bool supportsPollingApi ()
 returns True if the connection supports the Qore Socket-based polling API More...
 

Public Attributes

const ConnectionScheme
 Connection entry info.
 
- Public Attributes inherited from ConnectionProvider::AbstractConnection
const CF_LOGGER = "logger"
 Connection feature: Logger support. More...
 
const CF_UPDATE_OPTIONS = "update-options"
 Connection feature: Update Options support. More...
 
bool children_can_support_apis = False
 if the data provider or any of its children support requests (APIs)
 
bool children_can_support_messages = False
 if the data provider or any of its children support messages
 
bool children_can_support_observers = False
 if the data provider or any of its children support events
 
bool children_can_support_records = False
 if the data provider or any of its children support records
 
bool children_can_support_transactions = False
 if the data provider or any of its children support transaction management
 
bool debug_data = False
 debug data flag; to be used an an indication for a higher-level implementation
 
string desc
 connection description
 
bool enabled = True
 enabled/disabled indicator flag
 
hash< auto > internal_info
 internal tags (serializable)
 
date last_check
 date/time of last check/ping
 
bool locked = False
 locked/unlocked flag
 
bool loopback = False
 set to True for loopback connections
 
bool monitor
 monitoring flag
 
string name
 connection name
 
*hash< auto > opts
 connection options
 
*hash< auto > orig_opts
 original connection options
 
string safe_url
 "safe" URL (password information removed)
 
string status = "not checked"
 status string; in case of a connection error this string will be the error string
 
hash< auto > tags = {}
 connection tags; user-defined key-value pairs
 
transient hash< auto > transient_info
 internal transient tags (non-serializable)
 
bool up = True
 connection status flag; set by monitoring or explicit pings/connections
 
date updated
 date/time of last update
 
string url
 connection URL (potentially with password info)
 
hash< auto > urlh
 broken down URL hash (as returned by Qore::parse_url())
 

Private Member Methods

hash< ConnectionSchemeInfogetConnectionSchemeInfoImpl ()
 Returns the ConnectionSchemeInfo hash for this object.
 
Dir getImpl (bool connect=True, *hash rtopts)
 returns a Qore::Dir object More...
 
abstract hash< ConnectionSchemeInfogetConnectionSchemeInfoImpl ()
 Returns the ConnectionSchemeInfo hash for this object.
 
- Private Member Methods inherited from ConnectionProvider::AbstractConnection
*hash< string, bool > getFeaturesImpl ()
 Returns a hash of connection-defined features. More...
 
abstract object getImpl (bool connect=True, *hash< auto > rtopts)
 this method must return the connection object corresponding to the object's configuration More...
 
string getSafeUrl (hash< auto > urlh)
 creates a "safe" URL string with password information removed More...
 
hash< UrlInfo > parseUrl (string url)
 Parse the URL to a hash. More...
 
 pingImpl ()
 performs the internal ping More...
 
hash< PingInfopingIntern (hash< PingInfo > rv)
 performs the ping by executing get(); returns a PingInfo hash
 
 setChildCapabilities ()
 Override to set child data provider capabilities once per child class.
 
hash< auto > validateOptions (hash< auto > options)
 performs options validation in the constructor More...
 

Additional Inherited Members

- Static Public Attributes inherited from ConnectionProvider::AbstractConnection
static *code post_processing
 optional code for default post-processing of objects created by getImpl() More...
 

Detailed Description

class for filesystem connections; returns an object of type Qore::Dir

this can be used to monitor filesystem free space or to ensure a network filesystem is mounted, for example

supports the following option:

  • "readonly": does not mark the connection as down if the directory is read-only; use for example if the connection should point to a read-only base directory; interface directories should normally be writable
Note
the path will be subject to environment variable substitutions

Member Function Documentation

◆ constructor()

ConnectionProvider::FilesystemConnection::constructor ( string  name,
string  description,
string  url,
hash< auto >  attributes = {},
hash< auto >  options = {} 
)

creates the FilesystemConnection object

Parameters
namethe name of the connection
descriptionconnection description
urlconnection URL (potentially with password info)
attributesvarious attributes. See below
optionsconnection options

See AbstractConnection::constructor() for attributes and options reference.

Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option

◆ getImpl()

Dir ConnectionProvider::FilesystemConnection::getImpl ( bool  connect = True,
*hash  rtopts 
)
private

returns a Qore::Dir object

Parameters
connectif True, then the target directory is checked for existence and if it's writable, if either check fails, an exception is thrown
rtoptsthis connection type does not accept any runtime option, so this parameter is ignored
Returns
a Qore::Dir object