ARC SDK
Data Structures | Typedefs | Enumerations | Functions | Variables

Arc namespace contains all core ARC classes. More...

Data Structures

class  Adler32Sum
 Implementation of Adler32 checksum. More...
 
class  AdminDomainAttributes
 
class  AdminDomainType
 
class  ApplicationEnvironment
 ApplicationEnvironment. More...
 
class  ApplicationType
 
class  ArcLocation
 Determines ARC installation location. More...
 
class  ARCProxyUtil
 Utility class for generating proxies. More...
 
class  ArcVersion
 Determines ARC HED libraries version at runtime. More...
 
class  AutoLock
 
class  AutoPointer
 Wrapper for pointer with automatic destruction. More...
 
class  Base64
 Base64 encoding and decoding. More...
 
class  BaseConfig
 Configuration for client interface. More...
 
class  Broker
 A Broker filters and ranks acceptable targets for job submission. More...
 
class  BrokerPlugin
 Base class for BrokerPlugins implementing different brokering algorithms. More...
 
class  BrokerPluginArgument
 Internal class representing arguments passed to BrokerPlugin. More...
 
class  BrokerPluginLoader
 Handles loading of the required BrokerPlugin plugin. More...
 
class  BrokerPluginTestACCControl
 
struct  CacheParameters
 Contains data on the parameters of a cache. More...
 
class  CertEnvLocker
 Class for handling X509* variables in a multi-threaded environment. More...
 
class  CheckSum
 Interface for checksum manipulations. More...
 
class  CheckSumAny
 Wrapper for CheckSum class. More...
 
class  ComputingEndpointAttributes
 
class  ComputingEndpointType
 
class  ComputingManagerAttributes
 
class  ComputingManagerType
 
class  ComputingServiceAttributes
 
class  ComputingServiceRetriever
 Retrieves information about computing elements by querying service registries and CE information systems. More...
 
class  ComputingServiceType
 
class  ComputingServiceUniq
 
class  ComputingShareAttributes
 
class  ComputingShareType
 
class  Config
 Configuration element - represents (sub)tree of ARC XML configuration. More...
 
class  ConfigEndpoint
 Represents the endpoint of service with a given type and GLUE2 InterfaceName. More...
 
class  ConfigFile
 
class  ConfigIni
 
class  CountedPointer
 Wrapper for pointer with automatic destruction and multiple references. More...
 
class  Counter
 A class defining a common interface for counters. More...
 
class  CounterTicket
 A class for "tickets" that correspond to counter reservations. More...
 
class  CRC32Sum
 Implementation of CRC32 checksum. More...
 
class  Credential
 Class for handling X509 credentials. More...
 
class  CredentialError
 An exception class for the Credential class. More...
 
class  Database
 Interface for calling database client library. More...
 
class  DataBuffer
 Represents set of buffers. More...
 
class  DataCallback
 Callbacks to be used when there is not enough space on the local filesystem. More...
 
class  DataExternalComm
 
class  DataExternalHelper
 
class  DataHandle
 This class is a wrapper around the DataPoint class. More...
 
class  DataMover
 DataMover provides an interface to transfer data between two DataPoints. More...
 
class  DataPoint
 A DataPoint represents a data resource and is an abstraction of a URL. More...
 
class  DataPointDelegate
 
class  DataPointDirect
 DataPointDirect represents "physical" data objects. More...
 
class  DataPointIndex
 DataPointIndex represents "index" data objects, e.g. catalogs. More...
 
class  DataSpeed
 Keeps track of average and instantaneous transfer speed. More...
 
class  DataStagingType
 Simple structure for in- and output files. More...
 
class  DataStatus
 Status code returned by many DataPoint methods. More...
 
class  DiskSpaceRequirementType
 
class  Endpoint
 Represents an endpoint of a service with a given interface type and capabilities. More...
 
class  EndpointQueryingStatus
 Represents the status in the EntityRetriever of the query process of an Endpoint (service registry, computing element). More...
 
class  EndpointQueryOptions
 Options controlling the query process. More...
 
class  EndpointQueryOptions< Endpoint >
 The EntityRetriever<Endpoint> (a.k.a. ServiceEndpointRetriever) needs different options. More...
 
class  EndpointStatusMap
 Status map for Endpoint objects. More...
 
class  EndpointSubmissionStatus
 
class  EntityConsumer
 A general concept of an object which can consume entities use by the retrievers to return results. More...
 
class  EntityContainer
 An entity consumer class storing all the consumed entities in a list. More...
 
class  EntityRetriever
 Queries Endpoint objects (using plugins in parallel) and sends the found entities to consumers. More...
 
class  EntityRetrieverPlugin
 
class  EntityRetrieverPluginLoader
 
class  EnvLockWrapper
 Class to provide automatic locking/unlocking of environment on creation/destruction. More...
 
class  ExecutableType
 Executable. More...
 
class  ExecutionEnvironmentAttributes
 
class  ExecutionEnvironmentType
 
class  ExecutionTarget
 ExecutionTarget. More...
 
class  ExecutionTargetSorter
 Wrapper around Broker functionality. More...
 
class  ExpirationReminder
 A class intended for internal use within counters. More...
 
class  FileAccess
 Defines interface for accessing filesystems. More...
 
class  FileAccessContainer
 Container for shared FileAccess objects. More...
 
class  FileCache
 FileCache provides an interface to all cache operations. More...
 
class  FileCacheHash
 FileCacheHash provides methods to make hashes from strings. More...
 
class  FileInfo
 FileInfo stores information about files (metadata). More...
 
class  FileLock
 A general file locking class. More...
 
class  GLUE2
 GLUE2 parser. More...
 
class  GLUE2Entity
 
class  HostnameResolver
 Defines interface for accessing filesystems. More...
 
class  HostnameResolverContainer
 Container for shared HostnameResolver objects. More...
 
class  IniConfig
 Class representing "ini-style" configuration. More...
 
class  initializeCredentialsType
 Defines how user credentials are looked for. More...
 
class  InputFileType
 
class  InterruptGuard
 Marks off a section of code which should not be interrupted by signals. More...
 
class  IntraProcessCounter
 A class for counters used by threads within a single process. More...
 
class  IString
 Class used for localised output of log messages. More...
 
class  Job
 Job. More...
 
class  JobControllerPlugin
 
class  JobControllerPluginArgument
 
class  JobControllerPluginLoader
 
class  JobControllerPluginTestACCControl
 
class  JobDescription
 
class  JobDescriptionParserPlugin
 Abstract plugin class for different parsers. More...
 
class  JobDescriptionParserPluginLoader
 
class  JobDescriptionParserPluginResult
 
class  JobDescriptionParserPluginTestACCControl
 
class  JobDescriptionParsingError
 
class  JobDescriptionResult
 Job description parsing or assembly result. More...
 
class  JobIdentificationType
 Job identification. More...
 
class  JobInformationStorage
 Abstract class for storing job information. More...
 
class  JobInformationStorageBDB
 
struct  JobInformationStorageDescriptor
 
class  JobInformationStorageSQLite
 
class  JobInformationStorageXML
 
class  JobListRetrieverPlugin
 
class  JobListRetrieverPluginTESTControl
 
class  JobPerfLog
 
class  JobPerfRecord
 
class  JobSelector
 Abstract class used for selecting jobs with JobSupervisor. More...
 
class  JobState
 
class  JobStateTEST
 
class  JobSupervisor
 JobSupervisor class. More...
 
class  JSON
 Holder class for parsing JSON into XML container and back. More...
 
class  LocationAttributes
 
class  LocationType
 
class  LogDestination
 A base class for log destinations. More...
 
class  LogFile
 A class for logging to files. More...
 
class  Logger
 A logger class. More...
 
struct  LoggerFormat
 Struct to contain LogFormat, to use with operator<<(std::ostream&, const LoggerFormat&) More...
 
class  LogMessage
 A class for log messages. More...
 
class  LogStream
 A class for logging to ostreams. More...
 
class  MappingPolicyAttributes
 
class  MappingPolicyType
 
class  MD5Sum
 Implementation of MD5 checksum. More...
 
class  MySQLDatabase
 Implements a MySQL version of the Database interface. More...
 
class  MySQLQuery
 Implements a MySQL version of the Query database query class. More...
 
class  NotificationType
 
class  NS
 Class to represent an XML namespace. More...
 
class  OptIn
 
class  OptionParser
 Command line option parser used by ARC command line tools. More...
 
class  OutputFileType
 An output file. More...
 
class  ParallelEnvironmentType
 
class  PasswordSource
 Obtain password from some source. More...
 
class  PasswordSourceInteractive
 Obtain password through OpenSSL user interface. More...
 
class  PasswordSourceNone
 No password. More...
 
class  PasswordSourceStream
 Obtain password from stream. More...
 
class  PasswordSourceString
 Obtain password from a string. More...
 
class  PathIterator
 Class to iterate through elements of a path. More...
 
class  Period
 A Period represents a length of time. More...
 
class  Profile
 Class used to convert human-friendly ini-style configuration to XML. More...
 
class  Query
 Class representing a database query. More...
 
class  Range
 
class  RegularExpression
 A regular expression class. More...
 
class  RemoteLoggingType
 Remote logging. More...
 
class  ResourcesType
 Resource requirements structure. More...
 
class  Run
 This class runs an external executable. More...
 
class  ScalableTime
 
class  ScalableTime< int >
 
class  ServiceEndpointRetrieverPlugin
 
class  ServiceEndpointRetrieverPluginTESTControl
 
class  SharedMutex
 Mutex which allows shared and exclusive locking. More...
 
class  SharedMutexExclusiveLock
 Exclusive lock for SharedMutex. More...
 
class  SharedMutexSharedLock
 Shared lock for SharedMutex. More...
 
class  SimpleCondition
 Simple triggered condition. More...
 
class  SimpleCounter
 Thread-safe counter with capability to wait for zero value. More...
 
class  SlotRequirementType
 
class  Software
 Used to represent software (names and version) and comparison. More...
 
class  SoftwareRequirement
 Class used to express and resolve version requirements on software. More...
 
class  SourceType
 
class  SubmissionStatus
 
class  Submitter
 Class for submitting jobs. More...
 
class  SubmitterPlugin
 Base class for the SubmitterPlugins. More...
 
class  SubmitterPluginArgument
 
class  SubmitterPluginLoader
 
class  SubmitterPluginTestACCControl
 
class  TargetInformationRetrieverPlugin
 
class  TargetInformationRetrieverPluginTESTControl
 
class  TargetType
 Represent an output file destination. More...
 
class  Thread
 Base class for simple object associated thread. More...
 
class  ThreadDataItem
 Base class for per-thread object. More...
 
class  ThreadedPointer
 Wrapper for pointer with automatic destruction and multiple references. More...
 
class  ThreadInitializer
 This class initializes the glibmm thread system. More...
 
class  ThreadRegistry
 A set of conditions, mutexes, etc. conveniently exposed to monitor running child threads and to wait till they exit. More...
 
class  Time
 A class for storing and manipulating times. More...
 
class  TimedMutex
 Mutex which allows a timeout on locking. More...
 
class  URL
 Class to represent general URLs. More...
 
class  URLLocation
 Class to hold a resolved URL location. More...
 
class  URLMap
 URLMap allows mapping certain patterns of URLs to other URLs. More...
 
class  User
 Platform independent representation of system user. More...
 
class  UserConfig
 User configuration class More...
 
class  UserSwitch
 Class for temporary switching of user id. More...
 
class  VOMSACInfo
 Represents VOMS attribute part of a credential. More...
 
class  VOMSConfig
 
class  VOMSConfigLine
 
class  VOMSTrustList
 Stores definitions for making decision if VOMS server is trusted. More...
 
class  WatchdogChannel
 This class is meant to be used in code which provides "I'm alive" ticks to watchdog. More...
 
class  WatchdogListener
 This class is meant to provide interface for Watchdog executor part. More...
 
class  WSCommonPlugin
 A general wrapping class that adds common functions for all ARC WS-interface plugins. More...
 
class  XMLNode
 Wrapper for LibXML library Tree interface. More...
 
class  XMLNodeContainer
 Container for multiple XMLNode elements. More...
 

Typedefs

typedef std::vector< std::vector< std::string > > QueryArrayResult
 
typedef std::vector< std::string > QueryRowResult
 
typedef std::list< XMLNodeXMLNodeList
 
typedef std::vector< std::string > VOMSTrustChain
 
typedef std::string VOMSTrustRegex
 
typedef bool(* EndpointCompareFn) (const Endpoint &, const Endpoint &)
 Key comparison object definition for Endpoint objects. More...
 
typedef EntityRetriever< EndpointServiceEndpointRetriever
 The ServiceEndpointRetriever is an EntityRetriever retrieving Endpoint objects. More...
 
typedef EntityRetriever< ComputingServiceTypeTargetInformationRetriever
 The TargetInformationRetriever is an EntityRetriever retrieving ComputingServiceType objects. More...
 
typedef EntityRetriever< JobJobListRetriever
 The JobListRetriever is an EntityRetriever retrieving Job objects. More...
 
typedef EntityRetrieverPluginLoader< EndpointServiceEndpointRetrieverPluginLoader
 
typedef EntityRetrieverPluginLoader< ComputingServiceTypeTargetInformationRetrieverPluginLoader
 
typedef EntityRetrieverPluginLoader< JobJobListRetrieverPluginLoader
 
typedef JobState::StateType(* JobStateMap) (const std::string &)
 

Enumerations

enum  TimeFormat {
  MDSTime, ASCTime, UserTime, ISOTime,
  UTCTime, RFC1123Time, EpochTime, UserExtTime,
  ElasticTime
}
 An enumeration that contains the possible textual time formats. More...
 
enum  PeriodBase {
  PeriodNanoseconds, PeriodMicroseconds, PeriodMiliseconds, PeriodSeconds,
  PeriodMinutes, PeriodHours, PeriodDays, PeriodWeeks
}
 Base to use when constructing a new Period. More...
 
enum  LogLevel {
  DEBUG = 1, VERBOSE = 2, INFO = 4, WARNING = 8,
  ERROR = 16, FATAL = 32
}
 Logging levels for tagging and filtering log messages. More...
 
enum  LogFormat {
  LongFormat, MediumFormat, ShortFormat, DebugFormat,
  EmptyFormat
}
 Output formats. Defines prefix for each message. More...
 
enum  escape_type { escape_char, escape_octal, escape_hex, escape_hex_upper }
 Type of escaping or encoding to use. More...
 
enum  ServiceType { COMPUTING, INDEX }
 Type of service. More...
 
enum  Credformat { CRED_PEM, CRED_DER, CRED_PKCS, CRED_UNKNOWN }
 
enum  Signalgorithm {
  SIGN_DEFAULT = 0, SIGN_SHA1, SIGN_SHA224, SIGN_SHA256,
  SIGN_SHA384, SIGN_SHA512
}
 Signal algorithm. More...
 
enum  SessionDirectoryAccessMode { SDAM_NONE = 0, SDAM_RO = 1, SDAM_RW = 2 }
 
enum  NodeAccessType { NAT_NONE = 0, NAT_INBOUND = 1, NAT_OUTBOUND = 2, NAT_INOUTBOUND = 3 }
 

Functions

std::ostream & operator<< (std::ostream &, const Period &)
 Prints a Period-object to the given ostream – typically cout. More...
 
std::ostream & operator<< (std::ostream &, const Time &)
 Prints a Time-object to the given ostream – typically cout. More...
 
std::string TimeStamp (const TimeFormat &=Time::GetFormat())
 Returns a time-stamp of the current time in some format. More...
 
std::string TimeStamp (Time, const TimeFormat &=Time::GetFormat())
 Returns a time-stamp of some specified time in some format. More...
 
bool FileCopy (const std::string &source_path, const std::string &destination_path, uid_t uid, gid_t gid)
 Copy file source_path to file destination_path. More...
 
bool FileCopy (const std::string &source_path, const std::string &destination_path)
 Copy file source_path to file destination_path. More...
 
bool FileCopy (const std::string &source_path, int destination_handle)
 Copy file source_path to file handle destination_handle. More...
 
bool FileCopy (int source_handle, const std::string &destination_path)
 Copy from file handle source_handle to file destination_path. More...
 
bool FileCopy (int source_handle, int destination_handle)
 Copy from file handle source_handle to file handle destination_handle. More...
 
bool FileRead (const std::string &filename, std::list< std::string > &data, uid_t uid=0, gid_t gid=0)
 Simple method to read file content from filename. More...
 
bool FileRead (const std::string &filename, std::string &data, uid_t uid=0, gid_t gid=0)
 Simple method to read whole file content from filename. More...
 
bool FileCreate (const std::string &filename, const std::string &data, uid_t uid=0, gid_t gid=0, mode_t mode=0)
 Simple method to create a new file containing given data. More...
 
bool FileStat (const std::string &path, struct stat *st, bool follow_symlinks)
 Stat a file and put info into the st struct. More...
 
bool FileStat (const std::string &path, struct stat *st, uid_t uid, gid_t gid, bool follow_symlinks)
 Stat a file using the specified uid and gid and put info into the st struct. More...
 
bool FileLink (const std::string &oldpath, const std::string &newpath, bool symbolic)
 Make symbolic or hard link of file. More...
 
bool FileLink (const std::string &oldpath, const std::string &newpath, uid_t uid, gid_t gid, bool symbolic)
 Make symbolic or hard link of file using the specified uid and gid. More...
 
std::string FileReadLink (const std::string &path)
 Returns path at which symbolic link is pointing. More...
 
std::string FileReadLink (const std::string &path, uid_t uid, gid_t gid)
 Returns path at which symbolic link is pointing using the specified uid and gid. More...
 
bool FileDelete (const std::string &path)
 Deletes file at path. More...
 
bool FileDelete (const std::string &path, uid_t uid, gid_t gid)
 Deletes file at path using the specified uid and gid. More...
 
bool DirCreate (const std::string &path, mode_t mode, bool with_parents=false)
 Create a new directory. More...
 
bool DirCreate (const std::string &path, uid_t uid, gid_t gid, mode_t mode, bool with_parents=false)
 Create a new directory using the specified uid and gid. More...
 
bool DirDelete (const std::string &path, bool recursive=true)
 Delete a directory, and its content if recursive is true. More...
 
bool DirDelete (const std::string &path, bool recursive, uid_t uid, gid_t gid)
 Delete a directory, and its content if recursive is true. More...
 
bool DirDeleteExcl (const std::string &path, const std::list< std::string > &files, bool excl)
 Delete contents of a directory, including or excluding certain files. More...
 
bool DirDeleteExcl (const std::string &path, const std::list< std::string > &files, bool excl, uid_t uid, gid_t gid)
 Delete contents of a directory, including or excluding certain files, using the specified uid and gid. More...
 
bool DirList (const std::string &path, std::list< std::string > &entries, bool recursive)
 List all entries in a directory. More...
 
bool DirList (const std::string &path, std::list< std::string > &entries, bool recursive, uid_t uid, gid_t gid)
 List all entries in a directory using the specified uid and gid. More...
 
bool TmpDirCreate (std::string &path)
 Create a temporary directory under the system defined temp location, and return its path. More...
 
bool TmpFileCreate (std::string &filename, const std::string &data, uid_t uid=0, gid_t gid=0, mode_t mode=0)
 Simple method to create a temporary file containing given data. More...
 
bool CanonicalDir (std::string &name, bool leading_slash=true, bool trailing_slash=false)
 Removes /../ from 'name'. More...
 
void GUID (std::string &guid)
 Generates a unique identifier using information such as IP address, current time etc. More...
 
std::string UUID (void)
 Generates a unique identifier using the system uuid libraries. More...
 
const char * FindTrans (const char *p)
 Return the translation of the given string. More...
 
const char * FindNTrans (const char *s, const char *p, unsigned long n)
 Return the plural form translation of the given string when it refers to multiple n. More...
 
std::ostream & operator<< (std::ostream &os, const IString &msg)
 Output localised message to an output stream. More...
 
std::ostream & operator<< (std::ostream &os, const LoggerFormat &format)
 Allows printing of messages to streams using ARC Logger formatting. More...
 
std::ostream & operator<< (std::ostream &os, LogLevel level)
 Printing of LogLevel values to ostreams. More...
 
LogLevel string_to_level (const std::string &str)
 Convert string to a LogLevel. More...
 
LogLevel istring_to_level (const std::string &llStr)
 Convert string case-insensitively to a LogLevel. More...
 
bool istring_to_level (const std::string &llStr, LogLevel &ll)
 Case-insensitive parsing of a string to a LogLevel with error response. More...
 
bool string_to_level (const std::string &str, LogLevel &ll)
 Same as istring_to_level except it is case-sensitive. More...
 
std::string level_to_string (const LogLevel &level)
 Convert LogLevel to a string. More...
 
LogLevel old_level_to_level (unsigned int old_level)
 Convert an old-style log level (int from 0 to 5) to a LogLevel. More...
 
template<typename T >
stringto (const std::string &s)
 This method converts a string to any type. More...
 
template<typename T >
bool stringto (const std::string &s, T &t)
 This method converts a string to any type but lets calling function process errors. More...
 
bool strtoint (const std::string &s, signed int &t, int base=10)
 Convert string to integer with specified base. More...
 
bool strtoint (const std::string &s, unsigned int &t, int base=10)
 Convert string to unsigned integer with specified base. More...
 
bool strtoint (const std::string &s, signed long &t, int base=10)
 Convert string to long integer with specified base. More...
 
bool strtoint (const std::string &s, unsigned long &t, int base=10)
 Convert string to unsigned long integer with specified base. More...
 
bool strtoint (const std::string &s, signed long long &t, int base=10)
 Convert string to long long integer with specified base. More...
 
bool strtoint (const std::string &s, unsigned long long &t, int base=10)
 Convert string to unsigned long long integer with specified base. More...
 
template<typename T >
std::string tostring (T t, int width=0, int precision=0)
 This method converts any type to a string of the width given. More...
 
std::string inttostr (signed long long t, int base=10, int width=0)
 Convert long long integer to textual representation for specified base. More...
 
std::string inttostr (unsigned long long t, int base=10, int width=0)
 Convert unsigned long long integer to textual representation for specified base. More...
 
std::string inttostr (signed int t, int base=10, int width=0)
 Convert integer to textual representation for specied base. More...
 
std::string inttostr (unsigned int t, int base=10, int width=0)
 Convert unsigned integer to textual representation for specied base. More...
 
std::string inttostr (signed long t, int base=10, int width=0)
 Convert long integer to textual representation for specied base. More...
 
std::string inttostr (unsigned long t, int base=10, int width=0)
 Convert unsigned long integer to textual representation for specied base. More...
 
std::string booltostr (bool b)
 Convert bool to textual representation, i.e. "true" or "false". More...
 
bool strtobool (const std::string &s)
 Convert string to bool. Simply checks string if equal to "true" or "1". More...
 
bool strtobool (const std::string &s, bool &b)
 Convert string to bool. More...
 
std::string lower (const std::string &s)
 This method converts the given string to lower case. More...
 
std::string upper (const std::string &s)
 This method converts the given string to upper case. More...
 
void tokenize (const std::string &str, std::vector< std::string > &tokens, const std::string &delimiters=" ", const std::string &start_quotes="", const std::string &end_quotes="")
 This method tokenizes string. More...
 
void tokenize (const std::string &str, std::list< std::string > &tokens, const std::string &delimiters=" ", const std::string &start_quotes="", const std::string &end_quotes="")
 This method tokenizes string. More...
 
std::string::size_type get_token (std::string &token, const std::string &str, std::string::size_type pos, const std::string &delimiters=" ", const std::string &start_quotes="", const std::string &end_quotes="")
 This method extracts first token in string str starting at pos. More...
 
std::string trim (const std::string &str, const char *sep=NULL)
 This method removes given separators from the beginning and the end of the string. More...
 
std::string strip (const std::string &str)
 This method removes blank lines from the passed text string. Lines with only space on them are considered blank. More...
 
std::string join (const std::list< std::string > &strlist, const std::string &delimiter)
 Join all the elements in strlist using delimiter. More...
 
std::string join (const std::vector< std::string > &strlist, const std::string &delimiter)
 Join all the elements in strlist using delimiter. More...
 
std::string uri_encode (const std::string &str, bool encode_slash)
 This method %-encodes characters in URI str. More...
 
std::string uri_unencode (const std::string &str)
 This method unencodes the %-encoded URI str. More...
 
std::string convert_to_rdn (const std::string &dn)
 Convert dn to rdn: /O=Grid/OU=Knowarc/CN=abc —> CN=abc,OU=Knowarc,O=Grid. More...
 
std::string escape_chars (const std::string &str, const std::string &chars, char esc, bool excl, escape_type type=escape_char)
 Escape or encode the given chars in str using the escape character esc. More...
 
std::string unescape_chars (const std::string &str, char esc, escape_type type=escape_char)
 Unescape or unencode characters in str escaped with esc. More...
 
std::string extract_escaped_token (std::string &input, char sep, char esc, escape_type type=escape_char)
 Extract first charcters from input till separator taking into account escape rules. More...
 
bool CreateThreadFunction (void(*func)(void *), void *arg, SimpleCounter *count=NULL)
 Helper function to create simple thread. More...
 
std::list< URLReadURLList (const URL &urllist)
 Reads a list of URLs from a file. More...
 
std::string tostring (const ServiceType st)
 Returns "computing" if st is COMPUTING, "index" if st is "INDEX", otherwise an empty string. More...
 
std::string GetEnv (const std::string &var)
 Portable function for getting environment variables. Protected by shared lock. More...
 
std::string GetEnv (const std::string &var, bool &found)
 Portable function for getting environment variables. Protected by shared lock. More...
 
std::list< std::string > GetEnv ()
 Portable function for getting all environment variables. Protected by shared lock. More...
 
bool SetEnv (const std::string &var, const std::string &value, bool overwrite=true)
 Portable function for setting environment variables. Protected by exclusive lock. More...
 
void UnsetEnv (const std::string &var)
 Portable function for unsetting environment variables. Protected by exclusive lock. More...
 
void EnvLockAcquire (void)
 Obtain lock on environment. More...
 
void EnvLockRelease (void)
 Release lock on environment. More...
 
void EnvLockWrap (bool all=false)
 Start code which is using setenv/getenv. More...
 
void EnvLockUnwrap (bool all=false)
 End code which is using setenv/getenv. More...
 
void EnvLockUnwrapComplete (void)
 Use after fork() to reset all internal variables and release all locks. More...
 
std::string StrError (int errnum=errno)
 Portable function for obtaining description of last system error. More...
 
bool PersistentLibraryInit (const std::string &name)
 Load library and keep persistent. More...
 
std::ostream & operator<< (std::ostream &out, const XMLNode &node)
 Write XMLNode to output stream. More...
 
std::istream & operator>> (std::istream &in, XMLNode &node)
 Read into XMLNode from input stream. More...
 
bool MatchXMLName (const XMLNode &node1, const XMLNode &node2)
 Returns true if underlying XML elements have same names. More...
 
bool MatchXMLName (const XMLNode &node, const char *name)
 Returns true if 'name' matches name of 'node'. If name contains prefix it's checked too. More...
 
bool MatchXMLName (const XMLNode &node, const std::string &name)
 Returns true if 'name' matches name of 'node'. If name contains prefix it's checked too. More...
 
bool MatchXMLNamespace (const XMLNode &node1, const XMLNode &node2)
 Returns true if underlying XML elements belong to same namespaces. More...
 
bool MatchXMLNamespace (const XMLNode &node, const char *uri)
 Returns true if 'namespace' matches 'node's namespace.. More...
 
bool MatchXMLNamespace (const XMLNode &node, const std::string &uri)
 Returns true if 'namespace' matches 'node's namespace.. More...
 
void InitVOMSAttribute (void)
 
bool createVOMSAC (std::string &codedac, Credential &issuer_cred, Credential &holder_cred, std::vector< std::string > &fqan, std::vector< std::string > &targets, std::vector< std::string > &attributes, std::string &voname, std::string &uri, int lifetime)
 
bool addVOMSAC (ArcCredential::AC **&aclist, std::string &acorder, std::string &decodedac)
 
bool parseVOMSAC (X509 *holder, const std::string &ca_cert_dir, const std::string &ca_cert_file, const std::string &vomsdir, VOMSTrustList &vomscert_trust_dn, std::vector< VOMSACInfo > &output, bool verify=true, bool reportall=false)
 
bool parseVOMSAC (const Credential &holder_cred, const std::string &ca_cert_dir, const std::string &ca_cert_file, const std::string &vomsdir, VOMSTrustList &vomscert_trust_dn, std::vector< VOMSACInfo > &output, bool verify=true, bool reportall=false)
 
bool parseVOMSAC (const std::string &cert_str, const std::string &ca_cert_dir, const std::string &ca_cert_file, const std::string &vomsdir, VOMSTrustList &vomscert_trust_dn, std::vector< VOMSACInfo > &output, bool verify=true, bool reportall=false)
 
char * VOMSDecode (const char *data, int size, int *j)
 
char * VOMSEncode (const char *data, int size, int *j)
 
std::string getCredentialProperty (const Arc::Credential &u, const std::string &property, const std::string &ca_cert_dir=std::string(""), const std::string &ca_cert_file=std::string(""), const std::string &vomsdir=std::string(""), const std::vector< std::string > &voms_trust_list=std::vector< std::string >())
 
std::string VOMSFQANToFull (const std::string &vo, const std::string &fqan)
 
std::string VOMSFQANFromFull (const std::string &attribute)
 
bool VOMSACSeqEncode (const std::string &ac_seq, std::string &asn1)
 
bool VOMSACSeqEncode (const std::list< std::string > acs, std::string &asn1)
 
std::ostream & operator<< (std::ostream &o, const DataStatus &d)
 Write a human-friendly readable string with all error information to o. More...
 
bool operator== (EndpointQueryingStatus::EndpointQueryingStatusType eqst, const EndpointQueryingStatus &eqs)
 
template<>
void ComputingServiceType::AddExecutionTarget< std::list< ExecutionTarget > > (std::list< ExecutionTarget > &etList, const ExecutionTarget &et) const
 
bool operator== (SubmissionStatus::SubmissionStatusType a, const SubmissionStatus &b)
 

Variables

const ArcVersion Version
 
const Glib::TimeVal ETERNAL
 A time very far in the future. More...
 
const Glib::TimeVal HISTORIC
 A time very far in the past. More...
 
Logger stringLogger
 
Logger CredentialLogger
 

Detailed Description

Arc namespace contains all core ARC classes.

Enumeration Type Documentation

◆ Signalgorithm

Signal algorithm.

Since
Added in 4.0.0.

Function Documentation

◆ operator<<()

std::ostream& Arc::operator<< ( std::ostream &  os,
const IString msg 
)

Output localised message to an output stream.

◆ ReadURLList()

std::list<URL> Arc::ReadURLList ( const URL urllist)

Reads a list of URLs from a file.

Variable Documentation

◆ CredentialLogger

Logger Arc::CredentialLogger

Logger to be used by all modules of credentials library

◆ ETERNAL

const Glib::TimeVal Arc::ETERNAL

A time very far in the future.

◆ HISTORIC

const Glib::TimeVal Arc::HISTORIC

A time very far in the past.

◆ Version

const ArcVersion Arc::Version

Use this object to obtain current ARC HED version at runtime.