This wiki is obsolete, see the NorduGrid web pages for up to date information.
API changes
The following page documents changes in the API of the ARC libraries from one version to another. For documentation on the API see the doxygen documentation.
If no namespace is specified, the ARC namespace should be assumed.
Version 4.0.0 → 4.1.0
libarccommon
* class URL: Changed: URL(const std::string&, bool = false) URL(const std::string&, bool = false, int = -1, const std::string& = "") * class OptionParser: Added: const std::string& GetCommandWithArguments() const * class RegularExpression: Changed: RegularExpression(std::string) RegularExpression(std::string, bool = false) Added: bool match(const std::string&, std::vector<std::string>&) const * Functions: Added: LogLevel istring_to_level(const std::string&) Added: std::string join(const std::list<std::string>&, const std::string&)
libarccommunication
* struct HTTPClientInfo: Added: std::multimap<std::string, std::string> headers
libarccompute
* class Job: Added: std::list<std::string> DelegationID
libarccredential
No changes
libarcdata
No changes
libarcdatastaging
No changes
libarcdelegation
* class DelegationProviderSOAP: Added: void ID(const std::string&) Changed: (protected) typedef std::map<std::string,Consumer > ConsumerMap (protected) typedef std::map<std::string,Consumer*> ConsumerMap
libarcglobusutils
No changes
libarcinfosys
No changes
libarcloader
No changes
libarcmessage
No changes
Version 3.0.3 → 4.0.0
libarccommon
* class BaseConfig: Added void AddCredential(const std::string& cred) * class LogDestination: Added void setPrefix(const std::string& prefix) * Enum LogFormat: Added MediumFormat * class UserConfig: Added bool JobListType(const std::string& type) Added const std::string& JobListType() const Added void CredentialString(const std::string& cred) Added const std::string& CredentialString() const Added static const std::string JOBLISTFILE Removed bool Bartender(const std::vector<URL>& urls) Removed void AddBartender(const URL& url) Removed const std::vector<URL>& Bartender() const
libarccommunication
No changes
libarccompute
* class JobInformationStorage: Added bool IsValid() const Added bool bool IsStorageExisting() const Added static JobInformationStorageDescriptor AVAILABLE_TYPES[] * class JobInformationStorageXML: Moved from JobInformationStorage.h to JobInformationStorageXML.h * class JobInformationStorageBDB: Moved from JobInformationStorage.h to JobInformationStorageBDB.h * class JobState: Added JobState(const std::string& jobstate) * Typedefs Added typedef struct JobInformationStorageDescriptor
libarccredential
* New class PasswordSource: enum Result{ NO_PASSWORD, PASSWORD, CANCEL } virtual Result Get(std::string& password, int minsize, int maxsize) = 0 * New class PasswordSourceNone: virtual Result Get(std::string& password, int minsize, int maxsize) * New class PasswordSourceString: PasswordSourceString(const std::string& password) virtual Result Get(std::string& password, int minsize, int maxsize) * New class PasswordSourceStream: PasswordSourceStream(std::istream* password) virtual Result Get(std::string& password, int minsize, int maxsize) * New class PasswordSourceInteractive: PasswordSourceInteractive(const std::string& prompt, bool verify) virtual Result Get(std::string& password, int minsize, int maxsize) * New enum Signalalgorithm { SIGN_DEFAULT = 0, SIGN_SHA1, SIGN_SHA224, SIGN_SHA256, SIGN_SHA384, SIGN_SHA512 } * class Credential: Added Credential(const std::string& CAfile, const std::string& CAkey, const std::string& CAserial, const std::string& extfile, const std::string& extsect, PasswordSource& passphrase4key); Added Credential(const std::string& cert, const std::string& key, const std::string& cadir, const std::string& cafile, PasswordSource& passphrase4key, const bool is_file = true); Added Credential(const UserConfig& usercfg, PasswordSource& passphrase4key) Added void SetSigningAlgorithm(Signalgorithm signing_algorithm = SIGN_DEFAULT) Added void SetKeybits(int keybits = 0) Added Signalgorithm GetSigningAlgorithm(void) const Added int GetKeybits(void) const Added bool OutputPrivatekey(std::string &content, bool encryption, PasswordSource& passphrase)
libarcdata
* class DataPoint: Added virtual bool RequiresCredentialsInFile() const Added virtual void ClearTransferLocations()
libarcdatastaging
No changes
libarcdelegation
No changes
libarcglobusutils
* class GSSCredential: Added GSSCredential(const UserConfig& usercfg)
libarcinfosys
No changes
libarcloader
No changes
libarcmessage
No changes
Version 2.0.1 → 3.0.0
Note that in version 3.0.0 libarcdata2 was renamed to libarcdata. Furthermore the libarcclient library was split in two libraries libarccommunication and libarccompute. For further details see below.
libarccommon
* class ArcLocation: Added: static std::string GetDataDir() Added: static std::string GetToolsDir() * class CountedPointer: Changed: CountedPointer(T *p) CountedPointer(T *p = NULL) * class FileAccess: Renamed: bool setuid(int uid,int gid) bool fa_setuid(int uid,int gid) Renamed: bool mkdir(const std::string& path, mode_t mode) bool fa_mkdir(const std::string& path, mode_t mode) Renamed: bool mkdirp(const std::string& path, mode_t mode) bool fa_mkdirp(const std::string& path, mode_t mode) Renamed: bool link(const std::string& oldpath, const std::string& newpath) bool fa_link(const std::string& oldpath, const std::string& newpath) Renamed: bool softlink(const std::string& oldpath, const std::string& newpath) bool fa_softlink(const std::string& oldpath, const std::string& newpath) Renamed: bool copy(const std::string& oldpath, const std::string& newpath, mode_t mode) bool fa_copy(const std::string& oldpath, const std::string& newpath, mode_t mode) Renamed: bool chmod(const std::string& path,mode_t mode) bool fa_chmod(const std::string& path,mode_t mode) Renamed: bool stat(const std::string& path, struct stat& st) bool fa_stat(const std::string& path, struct stat& st) Renamed: bool lstat(const std::string& path, struct stat& st) bool fa_lstat(const std::string& path, struct stat& st) Renamed: bool fstat(struct stat& st) bool fa_fstat(struct stat& st) Renamed: bool ftruncate(off_t length) bool fa_ftruncate(off_t length) Renamed: off_t fallocate(off_t length) off_t fa_fallocate(off_t length) Renamed: bool readlink(const std::string& path, std::string& linkpath) bool fa_readlink(const std::string& path, std::string& linkpath) Renamed: bool remove(const std::string& path) bool fa_remove(const std::string& path) Renamed: bool unlink(const std::string& path) bool fa_unlink(const std::string& path) Renamed: bool rmdir(const std::string& path) bool fa_rmdir(const std::string& path) Renamed: bool rmdirr(const std::string& path) bool fa_rmdirr(const std::string& path) Renamed: bool opendir(const std::string& path) bool fa_opendir(const std::string& path) Renamed: bool closedir(void) bool fa_closedir(void) Renamed: bool readdir(std::string& name) bool fa_readdir(std::string& name) Renamed: bool open(const std::string& path, int flags, mode_t mode) bool fa_open(const std::string& path, int flags, mode_t mode) Renamed: bool close(void) bool fa_close(void) Renamed: bool mkstemp(std::string& path, mode_t mode) bool fa_mkstemp(std::string& path, mode_t mode) Renamed: off_t lseek(off_t offset, int whence) off_t fa_lseek(off_t offset, int whence) Renamed: ssize_t read(void* buf,size_t size) ssize_t fa_read(void* buf,size_t size) Renamed: ssize_t write(const void* buf,size_t size) ssize_t fa_write(const void* buf,size_t size) Renamed: ssize_t pread(void* buf,size_t size,off_t offset) ssize_t fa_pread(void* buf,size_t size,off_t offset) Renamed: ssize_t pwrite(const void* buf,size_t size,off_t offset) ssize_t fa_pwrite(const void* buf,size_t size,off_t offset) Added: static FileAccess* Acquire(void) Added: static void Release(FileAccess* fa) Added: bool fa_rename(const std::string& oldpath, const std::string& newpath) * New class FileAccessContainer: FileAccessContainer(unsigned int minval, unsigned int maxval) FileAccessContainer(void) ~FileAccessContainer(void) FileAccess* Acquire(void) void Release(FileAccess* fa) void SetMin(unsigned int val) void SetMax(unsigned int val) * New class InterruptGuard: InterruptGuard() ~InterruptGuard() * class LogDestination: Removed: LogDestination(const std::string& locale) * class LogFile: Removed: LogFile(const std::string& path, const std::string& locale) * class Logger: Added: void setDestinations(const std::list<LogDestination*>& destinations) * class LogStream: Removed: LogStream(std::ostream& destination, const std::string& locale) * class URL: Changed: URL(const std::string& url) URL(const std::string& url, bool encoded = false) Changed: void ChangeFullPath(const std::string& newpath) void ChangeFullPath(const std::string& newpath, bool encoded = false) Changed: virtual std::string str() virtual std::string str(bool encode = false) Changed: virtual std::string plainstr() const virtual std::string plainstr(bool encode = false) const Changed: virtual std::string fullstr() const virtual std::string fullstr(bool encode = false) const Changed: std::map<std::string, std::string> ParseOptions(const std::string& optstring, char separator) std::map<std::string, std::string> ParseOptions(const std::string& optstring, char separator, bool encoded = false) Changed: static std::string OptionString(const std::map<std::string, std::string>& options, char separator) static std::string OptionString(const std::map<std::string, std::string>& options, char separator, bool encode = false) Added: void URIDecode() Added: static std::string URIEncode(const std::string& str) Added: static std::string URIDecode(const std::string& str) Removed: bool IsSecureProtocol() const (replaced by DataPoint::RequiresCredentials() in libarcdata) * class User: Changed: User(const std::string& name) User(const std::string& name, const std::string& group="") Changed: User(int uid) User(int uid, int gid=-1) Added: operator bool() const Added: bool operator !() const Added: bool SwitchUser() const Removed: bool RunAs(std::string cmd) * class UserConfig: Added: void AddRejectDiscoveryURLs(const std::list<std::string>& urls) Added: void ClearRejectDiscoveryURLs() Added: std::map<std::string, ConfigEndpoint> GetAllConfiguredServices() * class XMLNode: Added: void Prefix(const std::string& prefix, int recursion = 0) Added: void StripNamespace(int recursion = 0) Added: bool Validate(XMLNode schema_doc, std::string &err_msg) * Functions: Removed: typedef std::list<std::string> ServiceList[2] * Defines: ArcVersion.h: Added ARC_VERSION Added ARC_VERSION_NUM Added ARC_VERSION_MAJOR Added ARC_VERSION_MINOR Added ARC_VERSION_PATCH
libarccommunication
libarccomunication was created from the splitting of the libarcclient library.
The following classes is now making up the libarccommunication library:
ARCPolicyHandlerConfig DNListHandlerConfig ClientHTTP ClientHTTPAttributes ClientHTTPwithSAML2SSO ClientInterface ClientSOAP ClientSOAPwithSAML2SSO ClientTCP ClientX509Delegation HTTPClientInfo SecHandlerConfig TCPSec
The following are the changes to the above classes and the libarccommunication library:
* New enum EncryptionLevel: NoEnc, RequireEnc, PreferEnc, OptionalEnc * New class TCPSec: SecurityLayer sec EncryptionLevel enc TCPSec() TCPSec(SecurityLayer) TCPSec(SecurityLayer, EncryptionLevel) * class ClientTCP: Changed: ClientTCP(const BaseConfig&, const std::string&, int, SecurityLayer, int = -1, bool = false) ClientTCP(const BaseConfig&, const std::string&, int, TCPSec, int = -1, bool = false) Changed: void AddSecHandler(XMLNode, SecurityLayer, const std::string& = "", const std::string& = "") void AddSecHandler(XMLNode, TCPSec, const std::string& = "", const std::string& = "") Added: MCC_Status process(PayloadStreamInterface *, PayloadStreamInterface **, bool) * New class ClientHTTPAttributes: ClientHTTPAttributes(const std::string&) ClientHTTPAttributes(const std::string&, std::multimap<std::string, std::string>&) ClientHTTPAttributes(const std::string&, const std::string&) ClientHTTPAttributes(const std::string&, const std::string&, std::multimap<std::string, std::string>&) ClientHTTPAttributes(const std::string&, const std::string&, uint64_t, uint64_t) ClientHTTPAttributes(const std::string&, const std::string&, std::multimap<std::string, std::string>&, uint64_t, uint64_t) (protected) const std::string default_path_ (protected) std::multimap<std::string, std::string> default_attributes_ (protected) const std::string& method_ (protected) const std::string& path_ (protected) std::multimap<std::string, std::string>& attributes_ (protected) uint64_t range_start_ (protected) uint64_t range_end_ * class ClientHTTP: Added: MCC_Status process(const ClientHTTPAttributes &, PayloadRawInterface *, HTTPClientInfo *, PayloadRawInterface **) Added: MCC_Status process(const ClientHTTPAttributes &, PayloadStreamInterface *, HTTPClientInfo *, PayloadRawInterface **) Added: MCC_Status process(const ClientHTTPAttributes &, PayloadRawInterface *, HTTPClientInfo *, PayloadStreamInterface **) Added: MCC_Status process(const ClientHTTPAttributes &, PayloadStreamInterface *, HTTPClientInfo *, PayloadStreamInterface **) Added: const URL& GetURL() const Changed: (protected) SecurityLayer sec (protected) TCPSec sec Added: (protected) MCC_Status process(const std::string&, const std::string&, std::multimap<std::string, std::string>&, uint64_t, uint64_t, MessagePayload *, HTTPClientInfo *, MessagePayload **)
libarccompute
libarccompute was created from splitting of the libarcclient library.
The following classes is now making up the libarccompute library:
AdminDomainAttributes AdminDomainType ApplicationType Broker BrokerPlugin BrokerPluginArgument BrokerPluginLoader BrokerPluginTestACCControl ComputingEndpointAttributes ComputingEndpointType ComputingManagerAttributes ComputingManagerType ComputingServiceAttributes ComputingServiceRetriever ComputingServiceType ComputingServiceUniq ComputingShareAttributes ComputingShareType DataStagingType DiskSpaceRequirementType Endpoint EndpointQueryingStatus EndpointQueryOptions EndpointStatusMap EndpointSubmissionStatus EntityConsumer EntityContainer EntityRetriever EntityRetrieverPlugin EntityRetrieverPluginLoader ExecutableType ExecutionEnvironmentAttributes ExecutionEnvironmentType ExecutionTarget ExecutionTargetSorter GLUE2 GLUE2Entity InputFileType Job JobControllerPlugin JobControllerPluginArgument JobControllerPluginLoader JobControllerPluginTestACCControl JobDescription JobDescriptionParser JobDescriptionParserLoader JobDescriptionParserResult JobDescriptionParserTestACCControl JobDescriptionResult JobIdentificationType JobListRetrieverPlugin JobListRetrieverPluginTESTControl JobState JobStateTEST JobSupervisor LocationAttributes LocationType NotificationType OptIn OutputFileType ParallelEnvironmentType Range RemoteLoggingType ResourcesType ScalableTime ServiceEndpointRetrieverPlugin ServiceEndpointRetrieverPluginTESTControl SlotRequirementType Software SoftwareRequirement SourceType SubmissionStatus Submitter SubmitterPlugin SubmitterPluginArgument SubmitterPluginLoader SubmitterPluginTestACCControl TargetInformationRetrieverPlugin TargetInformationRetrieverPluginTESTControl TargetType
The following are the changes to the above classes and the libarccompute library:
* class BrokerPlugin: Changed: (protected) const JobDescription* j (protected) mutable const JobDescription* j * class Broker: Changed: bool isValid() bool isValid(bool = true) Added: static bool genericMatch(const ExecutionTarget&, const JobDescription&, const Arc::UserConfig&) Added: const JobDescription& getJobDescription() const * Removed: class CountedBroker * Removed: class ExecutionTargetSet * New: class ExecutionTargetSorter ExecutionTargetSorter(const Broker&, const std::list<URL>& = std::list<URL>()) ExecutionTargetSorter(const Broker&, const JobDescription&, const std::list<URL>& = std::list<URL>()) ExecutionTargetSorter(const Broker&, const std::list<ComputingServiceType>&, const std::list<URL>& = std::list<URL>()) ExecutionTargetSorter(const Broker&, const JobDescription&, const std::list<ComputingServiceType>&, const std::list<URL>& = std::list<URL>()) virtual ~ExecutionTargetSorter() void addEntity(const ExecutionTarget&) void addEntity(const ComputingServiceType&) void addEntities(const std::list<ComputingServiceType>&) void reset() bool next() bool endOfList() const ExecutionTarget& operator*() const const ExecutionTarget& getCurrentTarget() const const ExecutionTarget* operator->() const const std::list<ExecutionTarget>& getMatchingTargets() const const std::list<ExecutionTarget>& getNonMatchingTargets() const void clear() void registerJobSubmission() void set(const Broker&) void set(const JobDescription&) void setRejectEndpoints(const std::list<URL>&) * class JobState: Added: std::string GetSpecificState() const Added: (protected) typedef std::string (*SpecificStateFormater)(const std::string&) Added: (protected) SpecificStateFormater ssf Added: (protected) static std::string FormatSpecificState(const std::string&) * class GLUE2Entity: Changed: T const * const operator->() const T const * operator->() const * class SubmitterPlugin: Changed: virtual bool Submit(const std::list<JobDescription>&, const ExecutionTarget&, EntityConsumer<Job>&, std::list<const JobDescription*>&) virtual SubmissionStatus Submit(const std::list<JobDescription>&, const ExecutionTarget&, EntityConsumer<Job>&, std::list<const JobDescription*>&) Changed: virtual bool Migrate(const URL&, const JobDescription&, const ExecutionTarget&, bool, Job&) virtual bool Migrate(const std::string&, const JobDescription&, const ExecutionTarget&, bool, Job&) Added: virtual SubmissionStatus Submit(const JobDescription&, const ExecutionTarget&, EntityConsumer<Job>&) Added: virtual SubmissionStatus Submit(const std::list<JobDescription>&, const std::string&, EntityConsumer<Job>&, std::list<const JobDescription*>&) Changed: (protected) void AddJobDetails(const JobDescription&, const URL&, const URL&, Job&) const (protected) void AddJobDetails(const JobDescription&, Job&) const Added: (protected) DataHandle* dest_handle Added: (protected) const std::map<std::string, std::string>& getInterfacePluginMap() const * class Job: Removed: URL Cluster Removed: std::string InterfaceName Changed: URL JobID std::string JobID Changed: static bool ListFilesRecursive(const UserConfig&, const URL&, std::list<std::string>&, const std::string& = "") static bool ListFilesRecursive(const UserConfig&, const URL&, std::list<std::string>&) Added: URL ServiceInformationURL Added: std::string ServiceInformationInterfaceName Added: URL JobStatusURL Added: std::string JobStatusInterfaceName Added: URL JobManagementURL Added: std::string JobManagementInterfaceName Added: URL StageInDir Added: URL StageOutDir Added: URL SessionDir Added: bool PrepareHandler(const UserConfig&) Added: bool Update() Added: bool Clean() Added: bool Cancel() Added: bool Resume() Added: bool Renew() Added: static bool WriteJobsToFile(const std::string&, const std::list<Job>&, const std::set<std::string>&, std::list<const Job*>&, unsigned = 10, unsigned = 500000) Changed: static bool RemoveJobsFromFile(const std::string&, const std::list<URL>&, unsigned = 10, unsigned = 500000) static bool RemoveJobsFromFile(const std::string&, const std::list<std::string>&, unsigned = 10, unsigned = 500000) Changed: static bool WriteJobIDToFile(const URL&, const std::string&, unsigned = 10, unsigned = 500000) static bool WriteJobIDToFile(const std::string&, const std::string&, unsigned = 10, unsigned = 500000) Changed static bool WriteJobIDsToFile(const std::list<URL>&, const std::string&, unsigned = 10, unsigned = 500000) static bool WriteJobIDsToFile(const std::list<std::string>&, const std::string&, unsigned = 10, unsigned = 500000) * class ComputingEndpointAttributes; Changed: std::list<std::string> Capability std::set<std::string> Capability * class ComputingServiceAttributes: Changed: std::list<std::string> Capability std::set<std::string> Capability * class ComputingServiceAttributes: Removed: URL Cluster Renamed: Endpoint OriginalEndpoint Endpoint InformationOriginEndpoint * class ExecutionTarget: Changed: ExecutionTarget(const CountedPointer<LocationAttributes>&, const CountedPointer<AdminDomainAttributes>&, const CountedPointer<ComputingServiceAttributes>&, const CountedPointer<ComputingEndpointAttributes>&, const CountedPointer<ComputingShareAttributes>&, const CountedPointer<ComputingManagerAttributes>&, const CountedPointer<ExecutionEnvironmentAttributes>&, const CountedPointer< std::map<std::string, double> >&, const CountedPointer< std::list<ApplicationEnvironment> >&) ExecutionTarget(const CountedPointer<LocationAttributes>&, const CountedPointer<AdminDomainAttributes>&, const CountedPointer<ComputingServiceAttributes>&, const CountedPointer<ComputingEndpointAttributes>&, const std::list< CountedPointer<ComputingEndpointAttributes> >&, const CountedPointer<ComputingShareAttributes>&, const CountedPointer<ComputingManagerAttributes>&, const CountedPointer<ExecutionEnvironmentAttributes>&, const CountedPointer< std::map<std::string, double> >&, const CountedPointer< std::list<ApplicationEnvironment> >&) Changed: bool Submit(const UserConfig&, const JobDescription&, Job&) const SubmissionStatus Submit(const UserConfig&, const JobDescription&, Job&) const Removed: void SaveToStream(std::ostream&, bool) const Added: std::list< CountedPointer<ComputingEndpointAttributes> > OtherEndpoints * class JobSupervisor: Changed: class JobSupervisor class JobSupervisor : public EntityConsumer<Job> Removed: std::list<Job> GetJobs(bool = true) const Added: void addEntity(const Job&) Changed: void SelectByID(const std::list<URL>&) void SelectByID(const std::list<std::string>&) Changed: const std::list<URL>& GetIDsProcessed() const const std::list<std::string>& GetIDsProcessed() const Changed: const std::list<URL>& GetIDsNotProcessed() const Changed: const std::list<std::string>& GetIDsNotProcessed() const * New class ComputingServiceUniq : public EntityConsumer<ComputingServiceType> void addEntity(const ComputingServiceType&) std::list<ComputingServiceType> getServices() * class ComputingServiceRetriever: Changed: ComputingServiceRetriever(const UserConfig&, const std::list<Endpoint>& = std::list<Endpoint>(), const std::list<std::string>& = std::list<std::string>(), const std::list<std::string>& = std::list<std::string>(), const std::list<std::string>& = std::list<std::string>(1, Endpoint::GetStringForCapability(Endpoint::COMPUTINGINFO)) ComputingServiceRetriever(const UserConfig&, const std::list<Endpoint>& = std::list<Endpoint>(), const std::list<std::string>& = std::list<std::string>(), const std::set<std::string>& = std::set<std::string>(), const std::list<std::string>& = std::list<std::string>(1, Endpoint::GetStringForCapability(Endpoint::COMPUTINGINFO)) * New class EndpointStatusMap : public std::map<Endpoint, EndpointQueryingStatus, EndpointCompareFn> EndpointStatusMap() EndpointStatusMap(EndpointCompareFn) EndpointStatusMap(const EndpointStatusMap&) ~EndpointStatusMap() * class Endpoint: enum CapabilityEnum: Removed: ANY Added: JOBCREATION, UNSPECIFIED Changed: Endpoint(const std::string& = "", const std::list<std::string>& = std::list<std::string>(), const std::string& = "") Endpoint(const std::string& = "", const std::set<std::string>& = std::set<std::string>(), const std::string& = "") Added: Endpoint(const ExecutionTarget&, const std::string& = ""); Added: Endpoint(const ComputingEndpointAttributes&, const std::string& = "") Changed: bool HasCapability( std::string ) const bool HasCapability(const std::string&) const Added: std::string getServiceName() const Added: static bool ServiceIDCompare(const Endpoint&, const Endpoint&) Changed: std::list<std::string> Capability std::set<std::string> Capability Added: std::string ServiceID Added: static std::pair<EndpointStatusMap::const_iterator, EndpointStatusMap::const_iterator> getServiceEndpoints(const Endpoint&, const EndpointStatusMap&) * class ApplicationType: Added: ApplicationType& operator=(const ApplicationType&) * class ResourcesType: Added: ResourcesType& operator=(const ResourcesType&) Changed: ScalableTime<int> TotalWallTime ScalableTime<int>& TotalWallTime * class JobDescription: Added: static JobDescriptionResult ParseFromFile(const std::string&, std::list<JobDescription>&, const std::string& = "", const std::string& = "") Added: bool Prepare() * class Software: Added: void addOptions(const std::list<std::string>&) * New class EndpointSubmissionStatus: enum EndpointSubmissionStatusType: UNKNOWN, NOPLUGIN, SUCCESSFUL EndpointSubmissionStatus(EndpointSubmissionStatusType = UNKNOWN, const std::string& = "") bool operator==(EndpointSubmissionStatusType) const bool operator==(const EndpointSubmissionStatus&) const bool operator!=(EndpointSubmissionStatusType) const bool operator!=(const EndpointSubmissionStatus&) const bool operator!() const operator bool() const EndpointSubmissionStatus& operator=(EndpointSubmissionStatusType) EndpointSubmissionStatus& operator=(const EndpointSubmissionStatus&) EndpointSubmissionStatusType getStatus() const const std::string& getDescription() const std::string str() const static std::string str(EndpointSubmissionStatusType) * class Submitter: Changed: bool Submit(const ExecutionTarget&, const JobDescription&) SubmissionStatus Submit(const ExecutionTarget&, const JobDescription&) Changed: bool Submit(const ExecutionTarget&, const JobDescription&, Job&) SubmissionStatus Submit(const ExecutionTarget&, const JobDescription&, Job&) Changed: bool Submit(const ExecutionTarget&, const std::list<JobDescription>&) SubmissionStatus Submit(const ExecutionTarget&, const std::list<JobDescription>&) Changed: bool Submit(const ExecutionTarget&, const std::list<JobDescription>&, std::list<Job>&) SubmissionStatus Submit(const ExecutionTarget&, const std::list<JobDescription>&, std::list<Job>&) Added: SubmissionStatus Submit(const Endpoint&, const JobDescription&) Added: SubmissionStatus Submit(const Endpoint&, const JobDescription&, Job&); Added: SubmissionStatus Submit(const Endpoint&, const std::list<JobDescription>&) Added: SubmissionStatus Submit(const Endpoint&, const std::list<JobDescription>&, std::list<Job>&) Added: SubmissionStatus Submit(const std::list<Endpoint>&, const std::list<JobDescription>&) Added: SubmissionStatus Submit(const std::list<Endpoint>&, const std::list<JobDescription>&, std::list<Job>&) Added: SubmissionStatus BrokeredSubmit(const std::list<std::string>&, const std::list<JobDescription>&, const std::list<std::string>& = std::list<std::string>()) Added: SubmissionStatus BrokeredSubmit(const std::list<std::string>&, const std::list<JobDescription>&, std::list<Job>&, const std::list<std::string>& = std::list<std::string>()) Added: SubmissionStatus BrokeredSubmit(const std::list<Endpoint>&, const std::list<JobDescription>&, const std::list<std::string>& = std::list<std::string>()) Added: SubmissionStatus BrokeredSubmit(const std::list<Endpoint>&, const std::list<JobDescription>&, std::list<Job>&, const std::list<std::string>& = std::list<std::string>()) Added: const EndpointStatusMap& GetEndpointQueryingStatuses() const Added: void ClearEndpointQueryingStatuses() Added: const std::map<Endpoint, EndpointSubmissionStatus>& GetEndpointSubmissionStatuses() const Added: void ClearEndpointSubmissionStatuses() Added: void ClearAllStatuses() Added: void ClearAll() * class EndpointQueryOptions Changed: EndpointQueryOptions(std::list<std::string> = std::list<std::string>()) EndpointQueryOptions(const std::set<std::string>& = std::set<std::string>()) Changed: std::list<std::string>& getPreferredInterfaceNames() const std::set<std::string>& getPreferredInterfaceNames() const * class EndpointQueryOptions<Endpoint> Changed: EndpointQueryOptions(bool = false, const std::list<std::string>& = std::list<std::string>(), const std::list<std::string>& = std::list<std::string>()) EndpointQueryOptions(bool = false, const std::list<std::string>& = std::list<std::string>(), const std::list<std::string>& = std::list<std::string>(), const std::set<std::string>& = std::set<std::string>()) Changed: std::list<std::string>& getPreferredInterfaceNames() const std::set<std::string>& getPreferredInterfaceNames() const * class EntityRetriever Added: EndpointStatusMap getAllStatuses() const Added: void getServicesWithStatus(const EndpointQueryingStatus&, std::set<std::string>&) Added: (protected) void checkSuspendedAndStart(const Endpoint&) Changed: (protected) std::map<Endpoint, EndpointQueryingStatus> statuses (protected) EndpointStatusMap statuses Changed: (protected) EndpointQueryOptions<T> options (protected) const EndpointQueryOptions<T> options * New: class ServiceEndpointRetrieverPlugin : public EntityRetrieverPlugin<Endpoint>: (protected) ServiceEndpointRetrieverPlugin(PluginArgument*) (protected) virtual ~ServiceEndpointRetrieverPlugin() * New: class TargetInformationRetrieverPlugin : public EntityRetrieverPlugin<ComputingServiceType>: (protected) TargetInformationRetrieverPlugin(PluginArgument*) (protected) virtual ~TargetInformationRetrieverPlugin() * New: class JobListRetrieverPlugin : public EntityRetrieverPlugin<Job>: (protected) JobListRetrieverPlugin(PluginArgument*) (protected) virtual ~JobListRetrieverPlugin() * class EndpointQueryingStatus: enum EndpointQueryingStatusType: Added: SUSPENDED_NOTREQUIRED Changed: bool operator==(EndpointQueryingStatusType) bool operator==(EndpointQueryingStatusType) const Changed: bool operator==(const EndpointQueryingStatus&) bool operator==(const EndpointQueryingStatus&) const Changed: bool operator!=(EndpointQueryingStatusType) bool operator!=(EndpointQueryingStatusType) const Changed: bool operator!=(const EndpointQueryingStatus&) bool operator!=(const EndpointQueryingStatus&) const Changed: EndpointQueryingStatus getStatus() const EndpointQueryingStatusType getStatus() const * class JobControllerPlugin: Changed: virtual void UpdateJobs(std::list<Job*>&, std::list<URL>& , std::list<URL>&, bool = false) const virtual void UpdateJobs(std::list<Job*>&, std::list<std::string>&, std::list<std::string>&, bool = false) const Changed: virtual bool CleanJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const virtual bool CleanJobs(const std::list<Job*>&, std::list<std::string>&, std::list<std::string>&, bool = false) const Changed: virtual bool CancelJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const virtual bool CancelJobs(const std::list<Job*>&, std::list<std::string>&, std::list<std::string>&, bool = false) const Changed virtual bool RenewJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const virtual bool RenewJobs(const std::list<Job*>&, std::list<std::string>&, std::list<std::string>&, bool = false) const Changed: virtual bool ResumeJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const virtual bool ResumeJobs(const std::list<Job*>&, std::list<std::string>&, std::list<std::string>&, bool = false) const * Renamed: class JobControllerPluginPluginArgument class JobControllerPluginArgument * class SubmitterPluginTestACCControl: Changed: static bool submitStatus static SubmissionStatus submitStatus * class ServiceEndpointRetrieverPluginTESTControl: Removed: static float delay Changed: static EndpointQueryingStatus status static std::list<EndpointQueryingStatus> status Changed: static std::list<Endpoint> endpoints static std::list< std::list<Endpoint> > endpoints Added: static std::list<SimpleCondition*> condition * Functions: Added: (friend LocationAttributes) std::ostream& operator<<(std::ostream&, const LocationAttributes&) Added: (friend AdminDomainAttributes) std::ostream& operator<<(std::ostream&, const AdminDomainAttributes&) Added: (friend ExecutionEnvironmentAttributes) std::ostream& operator<<(std::ostream&, const ExecutionEnvironmentAttributes&) Added: (friend ComputingManagerAttributes) std::ostream& operator<<(std::ostream&, const ComputingManagerAttributes&) Added: (friend ComputingShareAttributes) std::ostream& operator<<(std::ostream&, const ComputingShareAttributes&) Added: (friend ComputingServiceType) std::ostream& operator<<(std::ostream&, const ComputingServiceType&) Added: (friend ComputingEndpointAttributes) std::ostream& operator<<(std::ostream&, const ComputingEndpointAttributes&) Added: (friend ComputingServiceAttributes) std::ostream& operator<<(std::ostream&, const ComputingServiceAttributes&) Added: (friend ExecutionTarget) std::ostream& operator<<(std::ostream&, const ExecutionTarget&) Added: (friend EndpointQueryingStatus) bool operator==(EndpointQueryingStatusType, const EndpointQueryingStatus&) * Typedef: Removed: typedef EntityRetrieverPlugin<Endpoint> ServiceEndpointRetrieverPlugin Removed: typedef EntityRetrieverPlugin<ComputingServiceType> TargetInformationRetrieverPlugin Removed: typedef EntityRetrieverPlugin<Job> JobListRetrieverPlugin Added: typedef bool (*EndpointCompareFn)(const Endpoint&, const Endpoint&);
libarcloader
* class PluginDesc: Added: uint32_t priority * Removed class LoadableModuleDescription * Typedef: Removed: std::map<std::string, LoadableModuleDescription> plugin_cache_t Added: void (*arc_module_constructor_func)(Glib::Module*, ModuleManager*) Added: void (*arc_module_destructor_func)(Glib::Module*, ModuleManager*)
libarcdata
libarcdata was renamed from libarcdata2
* class DataMover: Added: void Cancel() * class DataPointIndex: Changed: virtual DataStatus Check() virtual DataStatus Check(bool check_meta) * class DataPoint: Added: typedef void(*Callback3rdParty)(unsigned long long int bytes_transferred) Added: static DataStatus Transfer3rdParty(const URL& source, const URL& destination, const UserConfig& usercfg, Callback3rdParty callback = NULL) Changed: virtual DataStatus Check() virtual DataStatus Check(bool check_meta) Added: virtual DataStatus Rename(const URL& newurl) Added: virtual bool RequiresCredentials() const (replaces URL::IsSecureProtocol() in libarccommon) Removed: virtual bool CheckCreated() const Added: virtual bool CheckModified() const Removed: virtual void SetCreated(const Time& val) Added: virtual void SetModified(const Time& val) Removed: virtual const Time& GetCreated() const Added: virtual const Time& GetModified() const * class DataStatus: * enum DataStatusType: Added: RenameError Deprecated: ListNonDirError, StatNotPresentError and all *ErrorRetryable Added: DataStatus(const DataStatusType& status, int error_no, const std::string& desc="") Added: void SetErrNo(int error_no) Added: int GetErrno() const Added: std::string GetStrErrno() const * class FileInfo: Removed: bool CheckCreated() const Added: bool CheckModified() const Removed: void SetCreated(const Time& t) Added: void SetModified(const Time& t) Removed: Time GetCreated() const Added: Time GetModified() const
libarccredential
* New struct AuthN::certInfo std::string certname std::string subject_dn std::string issuer_dn unsigned long serial Arc::Time start Arc::Time end * Functions: Changed: bool AuthN::nssCreateCert(const std::string&, const std::string&, const char*, const int, std::string&, bool = true) bool AuthN::nssCreateCert(const std::string&, const std::string&, const char*, const int, const std::string&, std::string&, bool = true) Added: void AuthN::nssListUserCertificatesInfo(std::list<certInfo>&) Added: bool parseVOMSAC(const std::string&, const std::string&, const std::string&, const std::string&, VOMSTrustList&, std::vector<VOMSACInfo>&, bool = true, bool = false) Added: char *VOMSEncode(const char *, int, int *) Added: bool VOMSACSeqEncode(const std::string&, std::string&) Added: bool VOMSACSeqEncode(const std::list<std::string>, std::string&) Added: char* AuthN::nss_get_password_from_console(PK11SlotInfo*, PRBool, void *) * Typedef: Changed: unsigned int uint32 unsigned int AuthN::uint32 Changed: int int32 int AuthN::int32 Changed: unsigned short uint16 unsigned short AuthN::uint16 Changed: short int16 short AuthN::int16 Changed: unsigned char uint8 unsigned char AuthN::uint8 Changed: signed char int8 signed char AuthN::int8
libarcdelegation
* class DelegationInterface: typedef enum ServiceType: Added: EMIDS, EMIDSRENEW
libarcmessage
* class MCC: Added: (protected) Glib::Mutex next_lock_ * class PayloadStreamInterface: Changed: virtual std::string Get() = 0 virtual std::string Get() Changed: virtual bool Get(std::string&) = 0 virtual bool Get(std::string&) Changed: virtual bool Put(const std::string&) = 0 virtual bool Put(const std::string&) Changed: virtual bool Put(const char*) = 0 virtual bool Put(const char*) Added: virtual bool Get(PayloadStreamInterface&, int&) Added: virtual bool Put(PayloadStreamInterface&, Size_t) * class PayloadStream: Removed: virtual std::string Get() Removed: virtual bool Get(std::string&) Removed: virtual bool Put(const char*) Removed: virtual bool Put(const std::string&)
libarcinfosys
* class InfoRegistrar: Added: bool empty()
libarcdatastaging
* class DataStaging::DTR: Removed: std::list<DTRCallback*> get_callbacks(const std::map<StagingProcesses, std::list<DTRCallback*> >& proc_callback, StagingProcesses owner) Removed: DTR() Added: static Arc::LogLevel LOG_LEVEL * class DataStaging::Scheduler: Added: static Scheduler* getInstance() * Functions in namespace DataStaging: Added DTR_ptr createDTRPtr(const std::string& source, const std::string& destination, const Arc::UserConfig& usercfg, const std::string& jobid, const uid_t& uid, DTRLogger log) Added DTRLogger createDTRLogger(Arc::Logger& parent, const std::string& subdomain)
libarcglobusutils
* Functions: Added: int globus_error_to_errno(const std::string&, int)
Version 1.1.1 → 2.0.0
libarccommon
* Removed: class MemoryAllocationException * Removed: class ByteArray * Removed: class DItem * Removed: class DBranch * Removed: class DItemString * class FileLock: Changed: bool check() int check(bool = true) * class Run: Added: Time RunTime() Added: Time ExitTime() Added: (protected) Time run_time_ Added: (protected) Time exit_time_ * class PrintFBase: Added: virtual void msg(std::string&) = 0 * class PrintF: Added: virtual void msg(std::string&) * class IString: Added: std::string str() * template<typename T> class AutoPointer: Renamed: operator T*() const T* Ptr() const * template<typename T> class CountedPointer: Changed: CountedPointer( CountedPointer<T>&) CountedPointer(const CountedPointer<T>&) Added: bool operator==(const CountedPointer&) const Added: bool operator!=(const CountedPointer&) const Added: bool operator<(const CountedPointer&) const Renamed: operator T*() const T* Ptr() const Changed: int get() virtual int get() const Changed: void wait() virtual void wait() const Changed: bool wait(int) virtual bool wait(int) const * New class ThreadedPointerBase: ThreadedPointerBase(void *) ThreadedPointerBase* add() void* rem() void* ptr() const void rel() unsigned int cnt() const void lock() void unlock() void wait() bool wait(Glib::TimeVal) * New template<typename T> class ThreadedPointer: ThreadedPointer() ThreadedPointer(T *) ThreadedPointer(const ThreadedPointer<T>&) ThreadedPointer<T>& operator=(T *) ThreadedPointer<T>& operator=(const ThreadedPointer<T>&) T& operator*() const T* operator->() const operator bool() const bool operator!() const bool operator==(const ThreadedPointer&) const bool operator!=(const ThreadedPointer&) const bool operator<(const ThreadedPointer&) const T* Ptr() const T* Release() unsigned int Holders() unsigned int WaitOutRange(unsigned int, unsigned int) unsigned int WaitOutRange(unsigned int, unsigned int, int) unsigned int WaitInRange(unsigned int, unsigned int) unsigned int WaitInRange(unsigned int, unsigned int, int) * class ThreadInitializer: Added: void waitExit() * class ConfigEndpoint: enum Type: REGISTRY COMPUTINGINFO ANY ConfigEndpoint(const std::string& = "", const std::string& = "", ConfigEndpoint::Type = ConfigEndpoint::ANY) Type type std::string URLString std::string InterfaceName std::string RequestedSubmissionInterfaceName operator bool() const bool operator!() const bool operator==(ConfigEndpoint) const * class initializeCredentialsType: enum initializeType: Removed: SkipCACredentials Added: NotTryCredentials Added: SkipCANotTryCredentials Added: SkipCATryCredentials Added: SkipCARequireCredentials Added: operator initializeType() * class UserConfig: Removed: bool ResolveAliases(std::list<std::string>&, ServiceType); Removed: bool AddServices(const std::list<std::string>&, ServiceType); Removed: bool AddServices(const std::list<std::string>&, const std::list<std::string>&, ServiceType) Removed: const std::list<std::string>& GetSelectedServices(ServiceType) const Removed: const std::list<std::string>& GetRejectedServices(ServiceType) const Removed: void ClearSelectedServices() Removed: void ClearSelectedServices(ServiceType) Removed: void ClearRejectedServices() Removed: void ClearRejectedServices(ServiceType) Changed: void InitializeCredentials() bool InitializeCredentials(initializeCredentialsType) Added: std::list<ConfigEndpoint> GetDefaultServices(ConfigEndpoint::Type = ConfigEndpoint::ANY) Added: ConfigEndpoint GetService(const std::string&) Added: std::list<ConfigEndpoint> GetServices(const std::string&, ConfigEndpoint::Type = ConfigEndpoint::ANY) Added: std::list<ConfigEndpoint> GetServicesInGroup(const std::string&, ConfigEndpoint::Type = ConfigEndpoint::ANY) Added: const std::string& InfoInterface() const Added: bool InfoInterface(const std::string&) Added: const std::string& SubmissionInterface() const Added: bool SubmissionInterface(const std::string&) Added: const std::list<std::string>& RejectDiscoveryURLs() const Added: const std::list<std::string>& RejectManagementURLs() const * Functions: Changed: template<typename T> std::string tostring(T, const int = 0, const int = 0) template<typename T> std::string tostring(T, int = 0, int = 0) Changed: bool FileCreate(const std::string&, const std::string&, uid_t = 0, gid_t = 0 ) bool FileCreate(const std::string&, const std::string&, uid_t = 0, gid_t = 0, mode_t = 0) Changed: bool DirDelete(const std::string&) bool DirDelete(const std::string&, bool = true) Changed: bool DirDelete(const std::string&, uid_t,gid_t) bool DirDelete(const std::string&, bool, uid_t, gid_t) Changed: bool TmpFileCreate(std::string&, const std::string&, uid_t = 0, gid_t = 0) bool TmpFileCreate(std::string&, const std::string&, uid_t = 0, gid_t = 0, mode_t = 0) Added: bool strtoint(const std::string&, signed int&, int = 10) Added: bool strtoint(const std::string&, unsigned int&, int = 10) Added: bool strtoint(const std::string&, signed long&, int = 10) Added: bool strtoint(const std::string&, unsigned long&, int = 10) Added: bool strtoint(const std::string&, signed long long&, int = 10) Added: bool strtoint(const std::string&, unsigned long long&, int = 10) Added: std::string inttostr(signed long long, int = 10, int = 0) Added: std::string inttostr(unsigned long long, int = 10, int = 0) Added: inline std::string inttostr(signed int, int = 10, int = 0) Added: inline std::string inttostr(unsigned int, int = 10, int = 0) Added: inline std::string inttostr(signed long, int = 10, int = 0) Added: inline std::string inttostr(unsigned long, int = 10, int = 0) Added: bool FileRead(const std::string&, std::string&, uid_t = 0, gid_t = 0) Added: bool CanonicalDir(std::string&, bool = true)
libarcclient
* Removed class TargetRetriever * Removed class TargetGenerator * Removed class JobController * New class JobControllerPlugin: (protected) JobControllerPlugin(const UserConfig&, PluginArgument*) virtual void UpdateJobs(std::list<Job*>&, bool = false) const virtual void UpdateJobs(std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const = 0 virtual bool CleanJobs(const std::list<Job*>&, bool = false) const virtual bool CleanJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const = 0 virtual bool CancelJobs(const std::list<Job*>&, bool = false) const virtual bool CancelJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const = 0 virtual bool RenewJobs(const std::list<Job*>&, bool = false) const virtual bool RenewJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const = 0 virtual bool ResumeJobs(const std::list<Job*>&, bool = false) const virtual bool ResumeJobs(const std::list<Job*>&, std::list<URL>&, std::list<URL>&, bool = false) const = 0 virtual bool GetJobDescription(const Job&, std::string&) const = 0 virtual bool GetURLToJobResource(const Job&, Job::ResourceType, URL&) const = 0 virtual std::string GetGroupID() const virtual const std::list<std::string>& SupportedInterfaces() const (protected) const UserConfig& usercfg; (protected) std::list<std::string> supportedInterfaces (protected) static Logger logger * Renamed class JobControllerLoader JobControllerPluginLoader * class JobControllerPluginLoader: Removed: const std::list<JobController*>& GetJobControllers() const Added: JobControllerPlugin* loadByInterfaceName(const std::string&, const UserConfig&) * Renamed class JobControllerPluginArgument JobControllerPluginPluginArgument * class JobSupervisor Removed: JobSupervisor(const UserConfig&, const std::list<std::string>&) Removed: bool Get(const std::list<std::string>&, const std::string&, bool, bool, std::list<URL>&) Removed: bool Kill(const std::list<std::string>&, std::list<URL>&) Removed: const std::list<JobController*>& GetJobControllers() Removed: bool JobsFound() const; Changed: std::list<Job> GetJobs() const std::list<Job> GetJobs(bool = true) const Changed: bool Renew(const std::list<std::string>&, std::list<URL>&) bool Renew() Changed: bool Resume(const std::list<std::string>&, std::list<URL>&) bool Resume() Changed: bool Resubmit(const std::list<std::string>&, int, std::list<Job>&, std::list<URL>&) bool Resubmit(int, const std::list<Endpoint>&, std::list<Job>&, const std::list<std::string>& = std::list<std::string>()) Changed: bool Migrate(bool, std::list<Job>&, std::list<URL>&) bool Migrate(bool, const std::list<Endpoint>&, std::list<Job>&, const std::list<std::string>& = std::list<std::string>()) Changed: std::list<URL> Cancel(const std::list<URL>&, std::list<URL>&) bool Cancel() Changed: std::list<URL> Clean(const std::list<URL>&, std::list<URL>&) bool Clean() Added: bool Retrieve(const std::string&, bool, bool, std::list<std::string>&) Added: const std::list<Job>& GetAllJobs() const Added: std::list<Job> GetSelectedJobs() const Added: void SelectValid() Added: void SelectByStatus(const std::list<std::string>&) Added: void SelectByID(const std::list<URL>&) Added: void ClearSelection() Added: const std::list<URL>& GetIDsProcessed() const Added: const std::list<URL>& GetIDsNotProcessed() const * Renamed class Submitter SubmitterPlugin * Removed class Broker * New class BrokerPlugin BrokerPlugin(BrokerPluginArgument*) virtual bool operator() (const ExecutionTarget&, const ExecutionTarget&) const virtual bool match(const ExecutionTarget&) const virtual void set(const JobDescription&) (protected) const UserConfig& uc (protected) const JobDescription* j (protected) static Logger logger * New class Broker: Broker(const UserConfig&, const std::string& = "") Broker(const UserConfig&, const JobDescription&, const std::string& = "") Broker(const Broker&) Broker& operator=(const Broker&) bool operator() (const ExecutionTarget&, const ExecutionTarget&) const bool match(const ExecutionTarget&) const bool isValid() const void set(const JobDescription&) * class BrokerPluginArgument: Changed: operator const UserConfig&() operator const UserConfig&() const * Renamed class BrokerLoader BrokerPluginLoader * class BrokerPluginLoader: Removed: const std::list<Broker*>& GetBrokers() const Changed: BrokerPlugin* load(const std::string&, const UserConfig&); BrokerPlugin* load(const UserConfig&, const std::string& = "", bool = true) Added: BrokerPlugin* load(const UserConfig& uc, const JobDescription&, const std::string& = "", bool = true) Added: BrokerPlugin* copy(const BrokerPlugin*, bool = true) * New class CountedBroker CountedBroker(Broker*) CountedBroker(const CountedBroker&) bool operator()(const ExecutionTarget&,const ExecutionTarget&) const * New class ExecutionTargetSet: ExecutionTargetSet(const Broker&, const std::list<URL>& = std::list<URL>()) ExecutionTargetSet(const Broker&, const std::list<ComputingServiceType>&, const std::list<URL>& = std::list<URL>()) std::pair<ExecutionTargetSet::iterator, bool> insert(const ExecutionTarget&) ExecutionTargetSet::iterator insert(ExecutionTargetSet::iterator, const ExecutionTarget&) void addEntity(const ComputingServiceType&) void addEntities(const std::list<ComputingServiceType>&) void set(const JobDescription&) * class JobController: Removed: bool Cat(const std::list<std::string>&, const std::string&) Removed: bool PrintJobStatus(const std::list<std::string>&, bool) * Renamed class Submitter SubmitterPlugin * class SubmitterPlugin: Removed: URL Submit(const JobDescription&, const ExecutionTarget&) Removed: bool Submit(const JobDescription&, Job&) Removed: URL Migrate(const URL&, const JobDescription&, const ExecutionTarget&, bool) Removed: bool Migrate(const URL&, const JobDescription&, bool, Job&) Removed: void AddJob(const JobDescription&, const URL&, const URL&, const URL&) Removed: void AddJob(const JobDescription&, const URL&, const URL&, const URL&, const std::map<std::string, std::string>&) const Removed: void SetSubmissionTarget(const ExecutionTarget&) Removed: (protected) const std::string flavour Removed: (protected) const ExecutionTarget* target Moved: bool GetTestJob(const int&, JobDescription&) static bool JobDescription::GetTestJob(int, JobDescription&) Moved: virtual bool ModifyJobDescription(JobDescription&, const ExecutionTarget&) const = 0 bool JobDescription::Prepare(const ExecutionTarget&) Changed: SubmitterPlugin(const UserConfig&, const std::string&) SubmitterPlugin(const UserConfig&, PluginArgument*) Changed: virtual bool Submit(const JobDescription&, const ExecutionTarget&, Job&) = 0; virtual bool Submit(const std::list<JobDescription>&, const ExecutionTarget&, EntityConsumer<Job>&, std::list<const JobDescription*>&) = 0 Changed: virtual bool Migrate(const URL&, const JobDescription&, const ExecutionTarget&, bool, Job&) = 0 virtual bool Migrate(const URL&, const JobDescription&, const ExecutionTarget&, bool, Job&) Changed: (protected) void AddJobDetails(const JobDescription&, const URL&, const URL&, const URL&, Job&) const (protected) void AddJobDetails(const JobDescription&, const URL&, const URL&, Job&) const Added: (protected) std::list<std::string> supportedInterfaces Added: virtual const std::list<std::string>& SupportedInterfaces() const * Renamed class SubmitterLoader SubmitterPluginLoader * class SubmitterPluginLoader: Removed: const std::list<Submitter*>& GetSubmitters() const Added: SubmitterPlugin* loadByInterfaceName(const std::string&, const UserConfig&) * New class Submitter: Submitter(const UserConfig&) void addConsumer(EntityConsumer<Job>&) void removeConsumer(EntityConsumer<Job>&) bool Submit(const ExecutionTarget&, const JobDescription&) bool Submit(const ExecutionTarget&, const JobDescription&, Job&) bool Submit(const ExecutionTarget&, const std::list<JobDescription>&) bool Submit(const ExecutionTarget&, const std::list<JobDescription>&, std::list<Job>&) const std::list<const JobDescription*>& GetDescriptionsNotSubmitted() const void ClearNotSubmittedDescriptions() * New class EndpointQueryingStatus: EndpointQueryingStatus(EndpointQueryingStatusType = UNKNOWN, const std::string& = "") enum EndpointQueryingStatusType: UNKNOWN, STARTED, FAILED, NOPLUGIN, SUCCESSFUL static std::string str(EndpointQueryingStatusType) bool operator==(EndpointQueryingStatusType) bool operator==(const EndpointQueryingStatus&) bool operator!=(EndpointQueryingStatusType) bool operator!=(const EndpointQueryingStatus&) bool operator!() const operator bool() const EndpointQueryingStatus& operator=(EndpointQueryingStatusType) EndpointQueryingStatus& operator=(const EndpointQueryingStatus&) EndpointQueryingStatus getStatus() const const std::string& getDescription() const std::string str() const * New template<typename T> class EndpointQueryOptions EndpointQueryOptions(std::list<std::string> = std::list<std::string>()) std::list<std::string>& getPreferredInterfaceNames() * New template<> class EndpointQueryOptions<Endpoint> EndpointQueryOptions(bool = false, const std::list<std::string>& = std::list<std::string>(), const std::list<std::string>& = std::list<std::string>()) bool recursiveEnabled() const const std::list<std::string>& getCapabilityFilter() const const std::list<std::string>& getRejectedServices() const std::list<std::string>& getPreferredInterfaceNames() * New template<typename T> class EntityRetrieverPlugin: virtual const std::list<std::string>& SupportedInterfaces() const virtual bool isEndpointNotSupported(const Endpoint&) const = 0 virtual EndpointQueryingStatus Query(const UserConfig&, const Endpoint&, std::list<T>&, const EndpointQueryOptions<T>&) const = 0 static const std::string kind (protected) EntityRetrieverPlugin(PluginArgument*) (protected) std::list<std::string> supportedInterfaces * New template<typename T> class EntityRetrieverPluginLoader: EntityRetrieverPluginLoader() EntityRetrieverPlugin<T>* load(const std::string&) static std::list<std::string> getListOfPlugins() const std::map<std::string, EntityRetrieverPlugin<T> *>& GetTargetInformationRetrieverPlugins() const (protected) std::map<std::string, EntityRetrieverPlugin<T> *> plugins (protected) static Logger logger; * New template<typename T> class EntityConsumer: virtual void addEntity(const T&) = 0 * template<typename T> class EntityContainer: virtual void addEntity(const T&) * template<typename T> class EntityRetriever: EntityRetriever(const UserConfig&, const EndpointQueryOptions<T>& = EndpointQueryOptions<T>()) void wait() const bool isDone() const void addConsumer(EntityConsumer<T>&) void removeConsumer(const EntityConsumer<T>&) EndpointQueryingStatus getStatusOfEndpoint(const Endpoint&) const; bool setStatusOfEndpoint(const Endpoint&, const EndpointQueryingStatus&, bool = true); virtual void addEntity(const T&); virtual void addEndpoint(const Endpoint&); (protected) static void queryEndpoint(void *arg_); (protected) class Common: Common(EntityRetriever*, const UserConfig&) void deactivate() bool lockExclusiveIfValid() void unlockExclusive() bool lockSharedIfValid() void unlockShared() operator const UserConfig&() const const std::list<std::string>& getAvailablePlugins() void setAvailablePlugins(const std::list<std::string>&) EntityRetriever* operator->() EntityRetriever* operator*() (protected) ThreadedPointer<Common> common (protected) class Result: Result(bool = false) Result(const Result&) void setSuccess() bool wait(int = -1) const (protected) Result result (protected) class ThreadArg: ThreadArg(const ThreadedPointer<Common>&, Result&, const Endpoint&, const EndpointQueryOptions<T>&) ThreadArg(const ThreadArg&, Result&) ThreadedPointer<Common> common Result result Endpoint endpoint std::string pluginName EndpointQueryOptions<T> options (protected) std::map<Endpoint, EndpointQueryingStatus> statuses (protected) static Logger logger (protected) const UserConfig& uc (protected) std::list< EntityConsumer<T>* > consumers (protected) EndpointQueryOptions<T> options (protected) mutable SimpleCondition consumerLock (protected) mutable SimpleCondition statusLock (protected) std::map<std::string, std::string> interfacePluginMap * New typedef EntityRetriever<Endpoint> ServiceEndpointRetriever; * New typedef EntityRetrieverPlugin<Endpoint> ServiceEndpointRetrieverPlugin * New typedef EntityRetrieverPluginLoader<Endpoint> ServiceEndpointRetrieverPluginLoader * New typedef EntityRetriever<ComputingServiceType> TargetInformationRetriever * New typedef EntityRetrieverPlugin<ComputingServiceType> TargetInformationRetrieverPlugin * New typedef EntityRetrieverPluginLoader<ComputingServiceType> TargetInformationRetrieverPluginLoader * New typedef EntityRetriever<Job> JobListRetriever * New typedef EntityRetrieverPlugin<Job> JobListRetrieverPlugin * New typedef EntityRetrieverPluginLoader<Job> JobListRetrieverPluginLoader * New class Endpoint: enum CapabilityEnum: REGISTRY, COMPUTINGINFO, JOBLIST, JOBSUBMIT, JOBMANAGEMENT, ANY static std::string GetStringForCapability(Endpoint::CapabilityEnum) Endpoint(const std::string& = "", const std::list<std::string>& = std::list<std::string>(), const std::string& = "") Endpoint(const std::string&, const Endpoint::CapabilityEnum, const std::string& = "") Endpoint(const ConfigEndpoint&) bool HasCapability(Endpoint::CapabilityEnum) const bool HasCapability(std::string) const std::string str() const bool operator<(const Endpoint&) const Endpoint& operator=(const ConfigEndpoint&) std::string URLString std::string InterfaceName std::string HealthState std::string HealthStateInfo std::string QualityLevel std::list<std::string> Capability std::string RequestedSubmissionInterfaceName * class JobDescription: Removed: operator bool() const Removed: bool Parse(const std::string&, const std::string& = "", const std::string& = "") Removed: bool Parse(const XMLNode&); Removed: std::string UnParse(const std::string& = "nordugrid:jsdl") const Removed: void Print(bool = false) const Removed: std::list<FileType> Files Changed: static bool Parse(const std::string&, std::list<JobDescription>&, const std::string& = "", const std::string& = "") static JobDescriptionResult Parse(const std::string&, std::list<JobDescription>&, const std::string& = "", const std::string& = "") Changed: bool UnParse(std::string&, std::string, const std::string& = "") const JobDescriptionResult UnParse(std::string&, std::string, const std::string& = "") const Changed: bool SaveToStream(std::ostream&, const std::string&) const JobDescriptionResult SaveToStream(std::ostream&, const std::string&) const Added: DataStagingType DataStaging Added: bool Prepare(const ExecutionTarget&) Added: static bool GetTestJob(int, JobDescription&) * New template<class T> class OptIn: OptIn<T>() OptIn<T>(const T&) OptIn<T>(const T&, bool) OptIn<T>(const OptIn<T>&) OptIn<T>& operator=(const OptIn<T>&) OptIn<T>& operator=(const T&) operator T() const bool optIn T v * class IdentificationType: Removed: std::string JobVOName Removed: std::list<std::string> UserTag Removed: std::list<std::string> ActivityOldId Added: std::list<std::string> ActivityOldID Added: std::string Type Added: std::list<std::string> Annotation * class ExecutableType: Removed: std::string Name Added: std::string Path Added: std::pair<bool, int> SuccessExitCode * New class RemoteLoggingType: std::string ServiceType URL Location bool optional * class ApplicationType: Removed: ExecutableType Prologue Removed: ExecutableType Epilogue Added: std::list<ExecutableType> PreExecutable Added: std::list<ExecutableType> PostExecutable Changed: std::list<URL> RemoteLogging std::list<RemoteLoggingType> RemoteLogging Changed: Time ExpiryTime Time ExpirationTime * Removed class ResourceSlotType: * New class SlotRequirementType: SlotRequirementType() int NumberOfSlots int SlotsPerHost enum ExclusiveExecutionType: EE_DEFAULT, EE_TRUE, EE_FALSE ExclusiveExecutionType ExclusiveExecution; * New class ParallelEnvironmentType: ParallelEnvironmentType() std::string Type std::string Version int ProcessesPerSlot int ThreadsPerProcess std::multimap<std::string, std::string> Options * class ResourcesType: Changed: ResourceSlotType SlotRequirement SlotRequirementType SlotRequirement Added: ParallelEnvironmentType ParallelEnvironment Added: OptIn<std::string> Coprocessor * New class JobDescriptionResult: JobDescriptionResult(bool) JobDescriptionResult(bool, const std::string&) operator bool(void) bool operator!(void) const std::string& str(void) * class JobDescriptionParser: Changed: virtual bool Parse(const std::string&, std::list<JobDescription>&, const std::string& = "", const std::string& = "") const = 0 virtual JobDescriptionParserResult Parse(const std::string&, std::list<JobDescription>&, const std::string& = "", const std::string& = "") const = 0 Changed: virtual bool UnParse(const JobDescription&, std::string&, const std::string&, const std::string& = "") const = 0 virtual JobDescriptionParserResult UnParse(const JobDescription&, std::string&, const std::string&, const std::string& = "") const = 0 Added: const std::string& GetError() Changed: (protected) JobDescriptionParser() (protected) JobDescriptionParser(PluginArgument*) Added: (protected) mutable std::string error * class JobDescriptionParser::iterator: Removed: iterator& operator=(const iterator&) * New class JobDescriptionParserResult: enum Result: Success, Failure, WrongLanguage JobDescriptionParserResult() JobDescriptionParserResult(bool) JobDescriptionParserResult(Result) operator bool() bool operator!() bool operator==(bool) bool operator==(Result) * New class DataStagingType: Added: DataStagingType() Added: std::list<InputFileType> InputFiles Added: std::list<OutputFileType> OutputFiles * Removed class FileType * New class SourceType: SourceType() SourceType(const URL&) SourceType(const std::string&) SourceType& operator=(const URL&) SourceType& operator=(const std::string&) std::string DelegationID * New class TargetType: TargetType() TargetType(const URL& u) TargetType(const std::string&) std::string DelegationID enum CreationFlagEnumeration: CFE_DEFAULT, CFE_OVERWRITE, CFE_APPEND, CFE_DONTOVERWRITE CreationFlagEnumeration CreationFlag bool UseIfFailure bool UseIfCancel bool UseIfSuccess * New class InputFileType: InputFileType() std::string Name bool IsExecutable long FileSize std::string Checksum std::list<SourceType> Sources * New class OutputFileType: OutputFileType() std::string Name std::list<TargetType> Targets * class JobDescriptionParser: Added: const std::string& GetError(void) Added: (protected) std::string error * class Job: Removed: void Print(bool) const Removed: std::string Flavour Removed: URL SubmissionEndpoint Removed: URL InfoEndpoint Removed: URL ISB Removed: URL OSB Removed: std::string AuxInfo; Removed: std::list<std::string> UsedApplicationEnvironment Removed: int UsedSlots Changed: static bool CompareJobID(const Job* a, const Job* b); static bool CompareJobID(const Job&, const Job&) Changed: static bool CompareSubmissionTime(const Job*, const Job*) static bool CompareSubmissionTime(const Job&, const Job&) Changed static bool CompareJobName(const Job*, const Job*) static bool CompareJobName(const Job&, const Job&) Changed: URL IDFromEndpoint std::string IDFromEndpoint Added: void Update(XMLNode) Added: bool GetURLToResource(ResourceType, URL&) const Added: bool Retrieve(const UserConfig&, const URL&, bool) const Added: static bool CopyJobFile(const UserConfig&, const URL&, const URL&) Added: static bool ListFilesRecursive(const UserConfig&, const URL&, std::list<std::string>&, const std::string& = "") Added: static bool ReadJobsFromFile(const std::string&, std::list<Job>&, std::list<std::string>&, bool = false, const std::list<std::string>& = std::list<std::string>(), const std::list<std::string>& = std::list<std::string>(), unsigned = 10, unsigned = 500000) Added: std::string InterfaceName Added: enum ResourceType: STDIN, STDOUT, STDERR, STAGEINDIR, STAGEOUTDIR, SESSIONDIR, JOBLOG, JOBDESCRIPTION * class ExecutionTarget: Removed: void Print(bool) const Removed: Submitter* GetSubmitter(const UserConfig&) const Removed: bool GetTestJob(const UserConfig&, const int&, JobDescription&) const Removed: bool Migrate(const UserConfig&, const URL&, const JobDescription&, bool, Job&) const Removed: void Update(const JobDescription&) Removed: std::string Address Removed: std::string Place Removed: std::string Country Removed: std::string PostCode Removed: float Latitude Removed: float Longitude Removed: std::string DomainName Removed: std::string Owner Removed: std::string ServiceName Removed: std::string ServiceType Removed: URL url Removed: std::list<std::string> Capability Removed: std::string Technology Removed: std::string InterfaceName Removed: std::list<std::string> InterfaceVersion Removed: std::list<std::string> InterfaceExtension Removed: std::list<std::string> SupportedProfile Removed: std::string Implementor Removed: Software Implementation Removed: std::string QualityLevel Removed: std::string HealthState Removed: std::string HealthStateInfo Removed: std::string ServingState Removed: std::string IssuerCA Removed: std::list<std::string> TrustedCA Removed: Time DowntimeStarts Removed: Time DowntimeEnds Removed: std::string Staging Removed: std::list<std::string> JobDescriptions Removed: std::string ComputingShareName Removed: std::string MappingQueue Removed: Period MaxWallTime Removed: Period MaxTotalWallTime Removed: Period MinWallTime Removed: Period DefaultWallTime Removed: Period MaxCPUTime Removed: Period MaxTotalCPUTime Removed: Period MinCPUTime Removed: Period DefaultCPUTime Removed: int MaxTotalJobs Removed: int MaxRunningJobs Removed: int MaxWaitingJobs Removed: int MaxPreLRMSWaitingJobs Removed: int MaxUserRunningJobs Removed: int MaxSlotsPerJob Removed: int MaxStageInStreams Removed: int MaxStageOutStreams Removed: std::string SchedulingPolicy Removed: int MaxMainMemory Removed: int MaxVirtualMemory Removed: int MaxDiskSpace Removed: URL DefaultStorageService Removed: bool Preemption Removed: int TotalJobs Removed: int RunningJobs Removed: int LocalRunningJobs Removed: int WaitingJobs Removed: int LocalWaitingJobs Removed: int SuspendedJobs Removed: int LocalSuspendedJobs Removed: int StagingJobs Removed: int PreLRMSWaitingJobs Removed: Period EstimatedAverageWaitingTime Removed: Period EstimatedWorstWaitingTime Removed: int FreeSlots Removed: std::map<Period, int> FreeSlotsWithDuration Removed: int UsedSlots Removed: int RequestedSlots Removed: std::string ReservationPolicy Removed: std::string ManagerProductName Removed: std::string ManagerProductVersion Removed: bool Reservation Removed: bool BulkSubmission Removed: int TotalPhysicalCPUs Removed: int TotalLogicalCPUs Removed: int TotalSlots Removed: bool Homogeneous Removed: std::list<std::string> NetworkInfo Removed: bool WorkingAreaShared Removed: int WorkingAreaTotal Removed: int WorkingAreaFree Removed: Period WorkingAreaLifeTime Removed: int CacheTotal Removed: int CacheFree Removed: std::map<std::string, double> Benchmarks Removed: std::string Platform Removed: bool VirtualMachine Removed: std::string CPUVendor Removed: std::string CPUModel Removed: std::string CPUVersion Removed: int CPUClockSpeed Removed: int MainMemorySize Removed: Software OperatingSystem Removed: bool ConnectivityIn Removed: bool ConnectivityOut Removed: std::list<ApplicationEnvironment> ApplicationEnvironments Removed: std::string GridFlavour Removed: URL Cluster Added: void RegisterJobSubmission(const JobDescription&) const Added: static void GetExecutionTargets(const std::list<ComputingServiceType>&, std::list<ExecutionTarget>&) Added: ExecutionTarget(const CountedPointer<LocationAttributes>&, const CountedPointer<AdminDomainAttributes>&, const CountedPointer<ComputingServiceAttributes>&, const CountedPointer<ComputingEndpointAttributes>&, const CountedPointer<ComputingShareAttributes>&, const CountedPointer<ComputingManagerAttributes>&, const CountedPointer<ExecutionEnvironmentAttributes>&, const CountedPointer< std::map<std::string, double> >&, const CountedPointer< std::list<ApplicationEnvironment> >&) Added: CountedPointer<LocationAttributes> Location Added: CountedPointer<AdminDomainAttributes> AdminDomain Added: CountedPointer<ComputingServiceAttributes> ComputingService Added: CountedPointer<ComputingEndpointAttributes> ComputingEndpoint Added: CountedPointer<ComputingShareAttributes> ComputingShare Added: CountedPointer<ComputingManagerAttributes> ComputingManager Added: CountedPointer<ExecutionEnvironmentAttributes> ExecutionEnvironment Added: CountedPointer< std::map<std::string, double> > Benchmarks Added: CountedPointer< std::list<ApplicationEnvironment> > ApplicationEnvironments * New class LocationAttributes: LocationAttributes() std::string Address std::string Place std::string Country std::string PostCode float Latitude float Longitude * New class AdminDomainAttributes: std::string Name std::string Owner * New class ExecutionEnvironmentAttributes: ExecutionEnvironmentAttributes() std::string ID std::string Platform bool VirtualMachine std::string CPUVendor std::string CPUModel std::string CPUVersion int CPUClockSpeed int MainMemorySize Software OperatingSystem bool ConnectivityIn bool ConnectivityOut * New class ComputingManagerAttributes: ComputingManagerAttributes() std::string ID std::string ProductName std::string ProductVersion bool Reservation bool BulkSubmission int TotalPhysicalCPUs int TotalLogicalCPUs int TotalSlots bool Homogeneous std::list<std::string> NetworkInfo bool WorkingAreaShared int WorkingAreaTotal int WorkingAreaFree Period WorkingAreaLifeTime int CacheTotal int CacheFree * New class ComputingShareAttributes: ComputingShareAttributes() std::string ID std::string Name std::string MappingQueue Period MaxWallTime Period MaxTotalWallTime Period MinWallTime Period DefaultWallTime Period MaxCPUTime Period MaxTotalCPUTime Period MinCPUTime Period DefaultCPUTime int MaxTotalJobs int MaxRunningJobs int MaxWaitingJobs int MaxPreLRMSWaitingJobs int MaxUserRunningJobs int MaxSlotsPerJob int MaxStageInStreams int MaxStageOutStreams std::string SchedulingPolicy int MaxMainMemory int MaxVirtualMemory int MaxDiskSpace URL DefaultStorageService bool Preemption int TotalJobs int RunningJobs int LocalRunningJobs int WaitingJobs int LocalWaitingJobs int SuspendedJobs int LocalSuspendedJobs int StagingJobs int PreLRMSWaitingJobs Period EstimatedAverageWaitingTime Period EstimatedWorstWaitingTime int FreeSlots std::map<Period, int> FreeSlotsWithDuration int UsedSlots int RequestedSlots std::string ReservationPolicy * New class ComputingEndpointAttributes: ComputingEndpointAttributes() std::string ID std::string URLString std::string InterfaceName std::string HealthState std::string HealthStateInfo std::string QualityLevel std::list<std::string> Capability std::string Technology std::list<std::string> InterfaceVersion std::list<std::string> InterfaceExtension std::list<std::string> SupportedProfile std::string Implementor Software Implementation std::string ServingState std::string IssuerCA std::list<std::string> TrustedCA Time DowntimeStarts Time DowntimeEnds std::string Staging int TotalJobs int RunningJobs int WaitingJobs int StagingJobs int SuspendedJobs int PreLRMSWaitingJobs std::list<std::string> JobDescriptions * New class ComputingServiceAttributes: ComputingServiceAttributes() std::string ID std::string Name std::string Type std::list<std::string> Capability std::string QualityLevel int TotalJobs int RunningJobs int WaitingJobs int StagingJobs int SuspendedJobs int PreLRMSWaitingJobs URL Cluster Endpoint OriginalEndpoint * New template<typename T> class GLUE2Entity: GLUE2Entity() T * operator->() T const * const operator->() const T & operator*() T const & operator*() const CountedPointer<T> Attributes * New class LocationType : public GLUE2Entity<LocationAttributes> * New class AdminDomainType : public GLUE2Entity<AdminDomainAttributes> * New class ExecutionEnvironmentType : public GLUE2Entity<ExecutionEnvironmentAttributes> * New class ComputingManagerType : public GLUE2Entity<ComputingManagerAttributes>: ComputingManagerType() std::map<int, ExecutionEnvironmentType> ExecutionEnvironment CountedPointer< std::map<std::string, double> > Benchmarks CountedPointer< std::list<ApplicationEnvironment> > ApplicationEnvironments * New class ComputingShareType : public GLUE2Entity<ComputingShareAttributes>: std::set<int> ComputingEndpointIDs * New class ComputingEndpointType : public GLUE2Entity<ComputingEndpointAttributes>: std::set<int> ComputingShareIDs * New class ComputingServiceType : public GLUE2Entity<ComputingServiceAttributes>: template<typename T> void GetExecutionTargets(T&) const LocationType Location AdminDomainType AdminDomain std::map<int, ComputingEndpointType> ComputingEndpoint std::map<int, ComputingShareType> ComputingShare std::map<int, ComputingManagerType> ComputingManager * class Software: Added: const std::list<std::string>& getOptions() const Added: void addOption(const std::string&) * class SoftwareRequirement: Changed: void add(const Software&, Software::ComparisonOperator = &Software::operator==) void add(const Software&, Software::ComparisonOperator) * class JobState: Added: (protected) std::string state Added: (protected) StateType type * class GLUE2: Changed static void ParseExecutionTargets(XMLNode, std::list<ExecutionTarget>&, const std::string& = "") static void ParseExecutionTargets(XMLNode, std::list<ComputingServiceType>& targets) * New class ComputingServiceRetriever: ComputingServiceRetriever void wait() void addEndpoint(const Endpoint&) void addEntity(const Endpoint&) void addConsumer(EntityConsumer<ComputingServiceType>&) void removeConsumer(const EntityConsumer<ComputingServiceType>&) void GetExecutionTargets(std::list<ExecutionTarget>&) * New class BrokerPluginTestACCControl: static bool match static bool less * New class JobDescriptionParserTestACCControl: static bool parseStatus static bool unparseStatus static std::list<JobDescription> parsedJobDescriptions static std::string unparsedString * New class JobControllerPluginTestACCControl: static bool cleanStatus static bool cancelStatus static bool renewStatus static bool resumeStatus static bool getJobDescriptionStatus static std::string getJobDescriptionString static bool resourceExist static URL resourceURL static URL createURL * New class SubmitterPluginTestACCControl: static bool submitStatus static bool migrateStatus static bool modifyStatus static Job submitJob static Job migrateJob * New class JobStateTEST: JobStateTEST(JobState::StateType, const std::string& = "TestState") * New class JobListRetrieverPluginTESTControl: static float delay static std::list<Job> jobs static EndpointQueryingStatus status * New class ServiceEndpointRetrieverPluginTESTControl: static float delay static EndpointQueryingStatus status static std::list<Endpoint> endpoints * New class TargetInformationRetrieverPluginTESTControl: static float delay static std::list<ComputingServiceType> targets static EndpointQueryingStatus status
libarcloader
* Renamed class: LoadableModuleDesciption LoadableModuleDescription * class LoadableModuleDescription: Added: operator bool() Added: bool operator!() Added: int use() Added: int unuse() Added: int usage() * class Loader: Removed: Loader(const Loader&) Removed: Loader& operator=(const Loader&) * class ModuleManager: Changed: void unload(Glib::Module*) (protected) void unload(Glib::Module*) Changed: void unload(const std::string&) (protected) void unload(const std::string&) Changed: Glib::Module* load(const std::string&, bool = false) Glib::Module* load(const std::string&, bool) Added: void use(Glib::Module*) Added: void unuse(Glib::Module*) * class Plugin: Removed: (protected) Plugin() Removed: Plugin& operator=(const Plugin&) Added: (protected) PluginsFactory* factory_ Added: (protected) Glib::Module* module_ Added: (protected) Plugin(PluginArgument*) Added: (protected) Plugin(const Plugin&) * class PluginsFactory: Changed: void TryLoad(bool = true) void TryLoad(bool)
libarcdata2
* class FileCache: Changed: FileCache(const std::vector<std::string>&, const std::vector<std::string>&, const std::vector<std::string>&, const std::string&, uid_t, gid_t, int = 100, int = 100) FileCache(const std::vector<std::string>&, const std::vector<std::string>&, const std::vector<std::string>&, const std::string&, uid_t, gid_t) Removed: bool Copy(const std::string&, const std::string&, bool = false) Changed: bool Start(const std::string&, bool&, bool&, bool = true ) bool Start(const std::string&, bool&, bool&, bool = true, bool = false) Changed: bool Link(const std::string&, const std::string&, bool, bool ) bool Link(const std::string&, const std::string&, bool, bool, bool, bool&) * class FileInfo: Added: operator bool() const Added: bool operator!() const * class DataStatus: enum DataStatusType: Changed: SuccessCached = 38 SuccessCached = 39 Changed: GenericError = 39 GenericError = 40 Changed: UnknownError = 40 UnknownError = 41 Added: CreateDirectoryError = 38 Added: CreateDirectoryErrorRetryable = DataStatusRetryableBase+CreateDirectoryError * class DataPoint: Changed: (protected) std::list<std::string> valid_url_options (protected) std::set<std::string> valid_url_options Added: virtual DataStatus CreateDirectory(bool = false) Added: virtual void AddURLOptions(const std::map<std::string, std::string>&) Added: virtual DataStatus Stat(std::list<FileInfo>&, const std::list<DataPoint*>&, DataPointInfoType = INFO_TYPE_ALL) = 0 Added: virtual DataStatus Resolve(bool, const std::list<DataPoint*>&) = 0 Added: virtual DataPoint* CurrentLocationHandle() const = 0 Changed: (protected) DataPoint(const URL&, const UserConfig&) (protected) DataPoint(const URL&, const UserConfig&, PluginArgument*) * class DataPointDirect: Added: virtual DataStatus Stat(std::list<FileInfo>&, const std::list<DataPoint*>&, DataPointInfoType = INFO_TYPE_ALL) Added: virtual DataStatus Resolve(bool, const std::list<DataPoint*>&) Added: virtual DataPoint* CurrentLocationHandle() const Changed: (protected) DataPointDirect(const URL&, const UserConfig&) (protected) DataPointDirect(const URL&, const UserConfig&, PluginArgument*) * class DataPointIndex: Added: virtual DataPoint* CurrentLocationHandle() const Changed: (protected) DataPointIndex(const URL&, const UserConfig&) (protected) DataPointIndex(const URL&, const UserConfig&, PluginArgument*) * class DataHandle: Added: static DataPoint* GetPoint(const URL&, const UserConfig&)
libarccredential
* class Credential: Renamed: getFormat (BIO *, const bool = true) const getFormat_BIO(BIO *, const bool = true) const Added: Credformat getFormat_str(const std::string&) const * New class AuthN::PrivateKeyInfoCodec static const unsigned char kRsaAlgorithmIdentifier[] static const unsigned char kIntegerTag = 0x02 static const unsigned char kBitStringTag = 0x03 static const unsigned char kOctetStringTag = 0x04 static const unsigned char kNullTag = 0x05 static const unsigned char kSequenceTag = 0x30 explicit PrivateKeyInfoCodec(bool) bool Export(std::vector<unsigned char>*) bool ExportPublicKeyInfo(std::vector<unsigned char>*); bool ExportPublicKey(std::vector<unsigned char>*); bool Import(const std::vector<unsigned char>&) std::vector<unsigned char>* modulus() std::vector<unsigned char>* public_exponent() std::vector<unsigned char>* private_exponent() std::vector<unsigned char>* prime1() std::vector<unsigned char>* prime2() std::vector<unsigned char>* exponent1() std::vector<unsigned char>* exponent2() std::vector<unsigned char>* coefficient() * Functions: Added: bool AuthN::nssInit(const std::string&) Added: bool AuthN::nssExportCertificate(const std::string&, const std::string&) Added: bool AuthN::nssOutputPKCS12(const std::string, char*, char*, char*) Added: bool AuthN::nssGenerateCSR(const std::string&, const std::string&, const char*, const std::string&, std::string&, bool = true) Added: bool AuthN::nssCreateCert(const std::string&, const std::string&, const char*, const int, std::string&, bool = true) Added: bool AuthN::nssImportCertAndPrivateKey(char*, const std::string&, const std::string&, const std::string&, const std::string&, const char* = NULL, bool = true) Added: bool AuthN::nssImportCert(char*, const std::string&, const std::string&, const char* = NULL, bool = true) Changed: bool parseVOMSAC(X509*, const std::string&, const std::string&, VOMSTrustList&, std::vector<VOMSACInfo>&, bool = true, bool = false) bool parseVOMSAC(X509*, const std::string&, const std::string&, const std::string&, VOMSTrustList&, std::vector<VOMSACInfo>&, bool = true, bool = false) Changed: bool parseVOMSAC(const Credential&, const std::string&, const std::string&, VOMSTrustList&, std::vector<VOMSACInfo>&, bool = true, bool = false) bool parseVOMSAC(const Credential&, const std::string&, const std::string&, const std::string&, VOMSTrustList&, std::vector<VOMSACInfo>&, bool = true, bool = false) Changed: std::string getCredentialProperty(const Credential&, const std::string&, const std::string& = "", const std::string& = "", const std::vector<std::string>& = std::vector<std::string>()) std::string getCredentialProperty(const Credential&, const std::string&, const std::string& = "", const std::string& = "", const std::string& = "", const std::vector<std::string>& = std::vector<std::string>());
libarcdelegation
* class Arc::DelegationContainerSOAP: Added: (protected) typedef std::map<std::string, Consumer> ConsumerMap Added: (protected) typedef ConsumerMap::iterator ConsumerIterator Added: (protected) ConsumerMap consumers_ Added: (protected) ConsumerIterator consumers_first_ Added: (protected) ConsumerIterator consumers_last_ Added: (protected) ConsumerIterator find(DelegationConsumerSOAP*) Added: (protected) bool remove(ConsumerIterator) Added: (protected) virtual DelegationConsumerSOAP* AddConsumer(std::string&, const std::string&) Added: (protected) virtual DelegationConsumerSOAP* FindConsumer(const std::string& id, const std::string& client); Added: (protected) virtual bool TouchConsumer(DelegationConsumerSOAP*, const std::string&) Added: (protected) virtual bool QueryConsumer(DelegationConsumerSOAP*, std::string&); Added: (protected) virtual void ReleaseConsumer(DelegationConsumerSOAP*) Added: (protected) virtual void RemoveConsumer(DelegationConsumerSOAP*) Added: (protected) virtual void CheckConsumers()
libarcsecurity
* class Evaluator: Changed: Evaluator (XMLNode*) Evaluator (XMLNode*, PluginArgument*) Changed: Evaluator (const char *) Evaluator (const char *, PluginArgument*) * class Policy: Changed: Policy() Policy(PluginArgument*) Changed: Policy(const XMLNode) Policy(const XMLNode, PluginArgument*) Changed: Policy(const XMLNode, EvaluatorContext*) Policy(const XMLNode, EvaluatorContext*, PluginArgument*) * class FnFactory: Changed: FnFactory() FnFactory(PluginArgument*) * class AlgFactory: Changed: AlgFactory() AlgFactory(PluginArgument*) * class AttributeFactory: Changed: AttributeFactory() AttributeFactory(PluginArgument*) * class Request: Changed: Request() Request(PluginArgument*) Changed: Request(const Source&) Request(const Source&, PluginArgument*) * class PDP: Changed: PDP(Config*) PDP(Config*, PluginArgument*)
libarcmessage
* class MCC: Changed: MCC(Config *) MCC(Config *, PluginArgument*) * class MCCInterface: Added: MCCInterface(PluginArgument*) * class Plexer: Changed: Plexer(Config *) Plexer(Config *, PluginArgument*) * class SecHandler: Changed: SecHandler(Config*) SecHandler(Config*, PluginArgument*) * class Service: Added: (protected) bool valid Added: operator bool() const Added: bool operator!() const Changed: Service(Config*) Service(Config*, PluginArgument*)
libarcinfosys
* class InfoRegisters: Changed: InfoRegisters(XMLNode &, Service *) InfoRegisters(XMLNode , Service *) Added: bool addRegister(XMLNode, Service *) * class RegisteredService: Changed: RegisteredService(Config*) RegisteredService(Config*, PluginArgument*)
libarcdatastaging
libarcdatastaging is a new library in ARC 2.0.0 using namespace DataStaging.