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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2