host/config/configurecxagent.h (70 lines of code) (raw):
#ifndef CONFIGURECXAGENT__H
#define CONFIGURECXAGENT__H
#include <string>
#include <vector>
#include "volumegroupsettings.h"
#define HASH_LENGTH 16
namespace NSRegisterHostStaticInfo
{
const char * const StrRegisterHostStatus[] = {"registered", "update failure", "update failed with peer cert error"};
const char DISKS_LAYOUT_STATUS_KEY[] = "disks_layout_file_transfer_status";
const char DISKS_LAYOUT_STATUS_SEP = ':';
/* here follows status values for disks_layout_file_transfer_status */
const char SUCCESS[] = "success";
const char FAILURE[] = "failure";
};
struct ConfigureCxAgent {
//boost::range<> getVxAgents();
typedef enum eRegisterHostStatus
{
HostRegistered = 0,
HostRegisterFailed,
HostRegisterFailedWithPeerCertError
} RegisterHostStatus_t;
virtual RegisterHostStatus_t RegisterHostStaticInfo(
const bool ®isterInAnyCase,
std::string agentVersion,
std::string driverVersion,
std::string hostName,
std::string ipAddress,
Object const & osinfo,
int compatibility,
std::string agentInstallPath,
OS_VAL osVal,
std::string zone,
std::string sysVol,
std::string patchHistory,
VolumeSummaries_t const& allVolumes,
std::string agentMode,
std::string prod_version ,
NicInfos_t const& nicinfos,
HypervisorInfo_t const& hypervinfo,
NwwnPwwns_t const &npwwns,
ENDIANNESS e,
CpuInfos_t const & cpuinfos,
std::map<std::string, std::string> const& acnvpairs,
unsigned long long const & memory,
const Options_t & miscInfo
) = 0;
virtual RegisterHostStatus_t RegisterHostDynamicInfo(
std::string agentLocalTime,
SV_ULONGLONG sysVolCapacity,
SV_ULONGLONG sysVolFreeSpace,
SV_ULONGLONG insVolCapacity,
SV_ULONGLONG insVolFreeSpace,
VolumeDynamicInfos_t const& volumeDynamicInfos
) = 0;
virtual std::string GetRegisterHostStatusStr(const RegisterHostStatus_t rgs) = 0;
/// \brief returns true if host static info registered atleast once
virtual bool IsHostStaticInfoRegisteredAtleastOnce(void) = 0;
//#ifdef SV_FABRIC
virtual void SanRegisterHost(
std::string agentVersion,
std::string driverVersion,
std::string hostName,
std::string ipAddress,
std::string osInfo,
int compatibility,
std::string agentInstallPath,
OS_VAL osVal,
std::vector<SanInitiatorSummary> const& initiators,
std::vector<SanVolumeSummary> const& allVolumes) = 0;
//#endif
//VolumeSummaries_t const& allVolumes ) = 0;
virtual void UnregisterHost() = 0;
};
#endif // CONFIGURECXAGENT__H