text: //----------------------------------------------------------------------------
  //
  //  Copyright (c) Intel Corporation, 2003 - 2012  All Rights Reserved.
  //
  //  File:       AMT_AgentPresenceService.h
  //
  //  Contents:   Represents the Agent Presence Service in the Intel(R) AMT subsystem.
  //
  //              This file was automatically generated from AMT_AgentPresenceService.mof,  version: 3.0.0
  //
  //----------------------------------------------------------------------------
  #ifndef AMT_AGENTPRESENCESERVICE_H
  #define AMT_AGENTPRESENCESERVICE_H 1
  #include "CIM_Service.h"
  namespace Intel
  {
  namespace Manageability
  {
  namespace Cim
  {
  namespace Typed 
  {
  	// Represents the Agent Presence Service in the Intel(R) AMT subsystem.
  	class CIMFRAMEWORK_API AMT_AgentPresenceService  : public CIM_Service
  	{
  	public:
  
  		//Default constructor
  		AMT_AgentPresenceService()
  			: CIM_Service(NULL, CLASS_NAME, CLASS_NS, CLASS_NS_PREFIX, CLASS_URI)
  		{
  			if(_classMetaData.size() == 0)
  			{
  				_classMetaData = CIM_Service::GetMetaData();
  			}
  		}
  
  		//constructor which receives WSMan client
  		AMT_AgentPresenceService(ICimWsmanClient *client)
  			: CIM_Service(client, CLASS_NAME, CLASS_NS, CLASS_NS_PREFIX, CLASS_URI)
  		{
  			if(_classMetaData.size() == 0)
  			{
  				_classMetaData = CIM_Service::GetMetaData();
  			}
  		}
  
  		//Destructor
  		virtual ~AMT_AgentPresenceService(){}
  
  		// The "type" information for the object. Gettors only.
  		virtual const string& ResourceURI() const { return CLASS_URI; }
  		static const string& ClassResourceURI() { return CLASS_URI; }
  		virtual const string& XmlNamespace() const { return CLASS_NS; }
  		virtual const string& XmlPrefix() const { return CLASS_NS_PREFIX; }
  		virtual const string& ObjectType() const { return CLASS_NAME; }
  		static const string& ClassObjectType() { return CLASS_NAME; }
  
  		// Class representing AMT_AgentPresenceService keys
  		class CimKeys : public CIM_Service::CimKeys
  		{
  		public:
  		};
  		 // Function used by the factory
  		static CimBase *CreateFromCimObject(const CimObject &object);
  
  		static vector<shared_ptr<AMT_AgentPresenceService> > Enumerate(ICimWsmanClient *client, const CimKeys &keys = CimKeys()) ;
  
  		// Overloaded delete which supplies the internal resourceURI
  		static void Delete(ICimWsmanClient *client, const CimKeys &keys = CimKeys()) ;
  
  		using CimBase::Delete;
  
  	protected:
  		 // Protected constructor to be used by derived classes
  		AMT_AgentPresenceService(ICimWsmanClient *client, const string &class_name,
  			const string &class_ns, const string &prefix, const string &uri): CIM_Service(client, class_name, class_ns, prefix, uri)
  		{
  			if(_classMetaData.size() == 0)
  			{
  				_classMetaData = CIM_Service::GetMetaData();
  			}
  		}
  		 // Protected constructor which receives CimObject
  		AMT_AgentPresenceService(const CimObject &object)
  			: CIM_Service(object)
  		{
  			if(_classMetaData.size() == 0)
  			{
  				_classMetaData = CIM_Service::GetMetaData();
  			}
  		}
  		// Called by derived classes
  		void SetMetaData(vector<CimFieldAttribute>& childMetaData)
  		{
  			CIM_Service::SetMetaData(childMetaData);
  		}
  		const vector<CimFieldAttribute> &GetMetaData() const;
  	private:
  		static const string CLASS_NAME;
  		static const string CLASS_URI;
  		static const string CLASS_NS;
  		static const string CLASS_NS_PREFIX;
  		static vector<CimFieldAttribute> _classMetaData;
  	};
  
  } // close namespace Typed
  } // close namespace Cim
  } // close namespace Manageability
  } // close namespace Intel
  #endif // AMT_AGENTPRESENCESERVICE_H
  