(file) Return to CIMListener.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Listener

  1 karl  1.10 //%2005////////////////////////////////////////////////////////////////////////
  2 kumpf 1.1  //
  3 karl  1.9  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 karl  1.8  // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.9  // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl  1.10 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 kumpf 1.1  //
 12            // Permission is hereby granted, free of charge, to any person obtaining a copy
 13            // of this software and associated documentation files (the "Software"), to
 14            // deal in the Software without restriction, including without limitation the
 15            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 16            // sell copies of the Software, and to permit persons to whom the Software is
 17            // furnished to do so, subject to the following conditions:
 18 kumpf 1.2  // 
 19 kumpf 1.1  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 20            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 21            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 22            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 23            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 24            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 25            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 26            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27            //
 28            //==============================================================================
 29            //
 30 tony  1.6  // Author: Dong Xiang, EMC Corporation (xiang_dong@emc.com)
 31 kumpf 1.1  //
 32            // Modified By:
 33            //
 34            //%/////////////////////////////////////////////////////////////////////////////
 35            
 36            #ifndef Pegasus_Listener_h
 37            #define Pegasus_Listener_h
 38            
 39            #include <Pegasus/Common/Config.h>
 40 chuck 1.3  #include <Pegasus/Listener/Linkage.h>
 41 kumpf 1.1  
 42            PEGASUS_NAMESPACE_BEGIN
 43            
 44 tony  1.6  class SSLContext;
 45            class CIMIndicationConsumer;
 46 kumpf 1.1  
 47 karl  1.7  
 48            /** CIMListener provides the interfaces that allows CIMListeners to be
 49                created and managed. CIMListeners are the receivers for cim/xml indications.
 50                ATTN: KS needs to be completed.TBD
 51            */
 52 kumpf 1.1  class PEGASUS_LISTENER_LINKAGE CIMListener
 53            {
 54            public:
 55 tony  1.6  	/**
 56            	 * Constructs a CIMListener object.
 57            	 * 
 58            	 * @param portNumber	the specified socket port the listener will listen to
 59               * @param sslContext	the specifed SSL context 
 60            	 */
 61            	CIMListener(Uint32 portNumber, SSLContext* sslContext=NULL);
 62            	/**
 63            	 * Destructor of a CIMLIstener object.
 64            	 */
 65 kumpf 1.1      ~CIMListener();
 66            
 67 tony  1.6  	/**
 68            	 * Returns the socket port number
 69            	 *
 70            	 * @return the socket port number.
 71                */
 72            	Uint32 getPortNumber() const;
 73            
 74            	/**
 75            	 * Returns the SSL context
 76            	 *
 77            	 * @return the SSL context.
 78                */
 79            	SSLContext* getSSLContext() const;
 80            
 81            	/** 
 82            	 * Sets the SSL context
 83            	 *
 84            	 * @param the SSL context.
 85                */
 86            	void setSSLContext(SSLContext* sslContext);
 87            
 88 tony  1.6  	/** 
 89            	 * Starts for listening.
 90                */
 91            	void start();
 92            
 93            	/**
 94            	 * Stops listening
 95                */
 96            	void stop();
 97            
 98            	/**
 99            	 * Returns if the listener is active
100            	 *
101            	 * @return true if the listener is active;
102            	 *				 false otherwise.
103                */
104            	Boolean isAlive();
105            
106            	/** 
107            	 * Adds a CIMIndicationConsumer to the listener
108               *
109 tony  1.6  	 * @param the CIMIndicationConsumer to add.
110            	 * @return true if the indication consumer has been added successfully
111            	 *				 false otherwise.
112            	 */
113            	Boolean addConsumer(CIMIndicationConsumer* consumer);
114            	/** 
115            	 * Removes a CIMIndicationConsumer from the listener.
116            	 *
117            	 * @param the CIMIndicationConsumer to remove.
118            	 * @return true if the indication consumer has been removed successfully
119            	 *				 false otherwise.
120            	 */
121            	Boolean removeConsumer(CIMIndicationConsumer* consumer);
122 kumpf 1.1  
123            private:
124 tony  1.6  	void* _rep;
125 kumpf 1.1  };
126            
127            PEGASUS_NAMESPACE_END
128            
129            #endif /* Pegasus_Listener_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2