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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2