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 Functions

| constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
| creates the FilesystemConnection object
string | getType ()
| returns `"dir"`
Public Member Functions inherited from ConnectionProvider::AbstractConnectionWithInfo
| constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
| creates the AbstractConnection object
hash< ConnectionSchemeInfo > | getConnectionSchemeInfo ()
| Returns the ConnectionSchemeInfo hash for this object.
*hash< auto > | getDefaultOptions ()
| returns default options
*hash< auto > | getOptions ()
| returns static / initialization options
Public Member Functions 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
| constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
| creates the AbstractConnection object
object | get (bool connect=True, *hash< auto > rtopts)
| returns the underlying connection object
hash< ConfigInfo > | getConfigHash ()
| returns a ConfigInfo hash of static configuration information about the connection
hash< ConnectionSchemeInfo > | getConnectionSchemeInfo ()
| Returns a default ConnectionSchemeInfo hash.
AbstractDataProvider | getDataProvider ()
| returns a data provider object for this connection, if supported
*hash< auto > | getDefaultOptions ()
| returns default options
string | getDescription ()
| Returns the connection description.
hash< auto > | getExtendedInfo (*hash< auto > opts)
| Returns connection info plus any extended information returned by the connection.
hash< ConnectionInfo > | getInfo (*hash< auto > opts)
| returns a ConnectionInfo hash of information about the connection
hash< ConnectionInfo > | getInfo (bool with_password=False)
| returns a ConnectionInfo hash of information about the connection
string | getName ()
| Returns the connection name.
*hash< auto > | getOptions ()
| returns static / initialization options
object | getPollImpl ()
| Returns an unconnected object for a non-blocking poll operation.
*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)
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
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.
| 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
| parseTextOptions ()
| this method is called when parsing connection file definitions from text files when loading into the database
hash< PingInfo > | ping (bool throw_exception=False)
| returns a hash with the results of the ping operation
Qore::AbstractPollOperation | startPollConnect ()
| Called to start the connection polling operation.
bool | supportsPollingApi ()
| returns True if the connection supports the Qore Socket-based polling API

## Public Attributes

const | ConnectionScheme
| Connection entry info.
Public Attributes inherited from ConnectionProvider::AbstractConnection
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
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
bool | up = False
| 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())

## Protected Member Functions

hash< ConnectionSchemeInfo > | getConnectionSchemeInfoImpl ()
| Returns the ConnectionSchemeInfo hash for this object.
Dir | getImpl (bool connect=True, *hash rtopts)
| returns a Qore::Dir object
abstract hash< ConnectionSchemeInfo > | getConnectionSchemeInfoImpl ()
| Returns the ConnectionSchemeInfo hash for this object.
Protected Member Functions inherited from ConnectionProvider::AbstractConnection
abstract object | getImpl (bool connect=True, *hash< auto > rtopts)
| this method must return the connection object corresponding to the object's configuration
string | getSafeUrl (hash< auto > urlh)
| creates a "safe" URL string with password information removed
hash< UrlInfo > | parseUrl (string url)
| Parse the URL to a hash.
| pingImpl ()
| performs the internal ping
hash< PingInfo > | pingIntern (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

## 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(); must take the connection object and the object created as arguments

## 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

  name | the name of the connection
  description | connection description
  url | connection URL (potentially with password info)
  attributes | various attributes. See below
  options | connection options

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

Exceptions

  CONNECTION-OPTION-ERROR | missing or invalid connection option

## getImpl()

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

protected

returns a Qore::Dir object

Parameters

  connect | if True, then the target directory is checked for existence and if it's writable, if either check fails, an exception is thrown
  rtopts | this connection type does not accept any runtime option, so this parameter is ignored

Returns
  a Qore::Dir object