/*############################################################################## Copyright (C) 2011 HPCC Systems. All rights reserved. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . ############################################################################## */ // *** Include file generated by HIDL Version 1.3 from environment.scm *** // *** Not to be hand edited (changes will be lost on re-generation) *** #ifndef environment_SCM_INCL #define environment_SCM_INCL #include "jiface.hpp" #include "dasubs.hpp" #ifdef WIN32 #ifdef ENVIRONMENT_EXPORTS #define ENVIRONMENT_API __declspec(dllexport) #else #define ENVIRONMENT_API __declspec(dllimport) #endif #else #define ENVIRONMENT_API #endif interface IPropertyTree; // Not yet SCM-compliant interface IEnvironment; // Forward reference interface ISDSSubscription;// Forward reference interface IConstEnvBase : extends IInterface { virtual IStringVal & getXML(IStringVal & str) const = 0; virtual IStringVal & getName(IStringVal & str) const = 0; virtual IPropertyTree & getPTree() const = 0; }; interface IConstDomainInfo : extends IConstEnvBase { virtual void getAccountInfo(IStringVal & name, IStringVal & pw) const = 0; virtual void getSnmpSecurityString(IStringVal & securityString) const = 0; virtual void getSSHAccountInfo(IStringVal & name, IStringVal & sshKeyFile, IStringVal& sshKeyPassphrase) const = 0; }; enum EnvMachineState { MachineStateAvailable = 0, MachineStateUnavailable = 1, MachineStateUnknown = 2 }; enum EnvMachineOS { MachineOsW2K = 0, MachineOsSolaris = 1, MachineOsLinux = 2, MachineOsUnknown = 3, MachineOsSize = 4 }; interface IConstComputerTypeInfo : extends IConstEnvBase { virtual EnvMachineOS getOS() const = 0; virtual unsigned getNicSpeedMbitSec() const = 0; }; interface IConstMachineInfo : extends IConstEnvBase { virtual IConstDomainInfo * getDomain() const = 0; virtual IStringVal & getNetAddress(IStringVal & str) const = 0; virtual unsigned getNicSpeedMbitSec() const = 0; virtual IStringVal & getDescription(IStringVal & str) const = 0; virtual EnvMachineOS getOS() const = 0; virtual EnvMachineState getState() const = 0; }; interface IConstInstanceInfo : extends IConstEnvBase { virtual IConstMachineInfo * getMachine() const = 0; virtual IStringVal & getEndPoint(IStringVal & str) const = 0; virtual unsigned getPort() const = 0; virtual IStringVal & getExecutableDirectory(IStringVal & str) const = 0; virtual bool getRunInfo(IStringVal & progpath, IStringVal & workdir, const char * defaultprogname) const = 0; }; interface IConstEnvironment : extends IConstEnvBase { virtual IConstDomainInfo * getDomain(const char * name) const = 0; virtual IConstMachineInfo * getMachine(const char * name) const = 0; virtual IConstMachineInfo * getMachineByAddress(const char * netaddress) const = 0; virtual IConstInstanceInfo * getInstance(const char * type, const char * version, const char * domain) const = 0; virtual IConstComputerTypeInfo * getComputerType(const char * name) const = 0; virtual bool getRunInfo(IStringVal & path, IStringVal & dir, const char * type, const char * version, const char * machineaddr, const char * defaultprogname) const = 0; virtual IEnvironment & lock() const = 0; virtual bool isConstEnvironment() const = 0; virtual void clearCache() = 0; }; interface IEnvironment : extends IConstEnvironment { virtual void commit() = 0; virtual void rollback() = 0; virtual void setXML(const char * (null)) = 0; virtual void preload() = 0; }; interface IEnvironmentFactory : extends IInterface { virtual IConstEnvironment * openEnvironment() = 0; virtual IConstEnvironment * createEnvironmentByFile(const char * environmentConfFile, const char * environmentXMLFile) = 0; virtual IConstEnvironment * openEnvironmentByFile() = 0; virtual const char * getEnvironmentConf() = 0; virtual IEnvironment * updateEnvironment() = 0; virtual IEnvironment * loadLocalEnvironmentFile(const char * filename) = 0; virtual IEnvironment * loadLocalEnvironment(const char * xml) = 0; virtual SubscriptionId subscribe(ISDSSubscription * pSubHandler) = 0; virtual void unsubscribe(SubscriptionId id) = 0; virtual void validateCache() = 0; }; class StringBuffer; extern "C" ENVIRONMENT_API IEnvironmentFactory * getEnvironmentFactory(); extern "C" ENVIRONMENT_API void closeEnvironment(); #endif // _environment_SCM_INCL //end