(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 david.dillard 1.11 //
 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 david.dillard 1.11 // Modified By: David Dillard, VERITAS Software Corp.
 33                    //                  (david.dillard@veritas.com)
 34 kumpf         1.1  //
 35                    //%/////////////////////////////////////////////////////////////////////////////
 36                    
 37                    #ifndef Pegasus_Listener_h
 38                    #define Pegasus_Listener_h
 39                    
 40                    #include <Pegasus/Common/Config.h>
 41 chuck         1.3  #include <Pegasus/Listener/Linkage.h>
 42 kumpf         1.1  
 43                    PEGASUS_NAMESPACE_BEGIN
 44                    
 45 tony          1.6  class SSLContext;
 46                    class CIMIndicationConsumer;
 47 kumpf         1.1  
 48 karl          1.7  
 49                    /** CIMListener provides the interfaces that allows CIMListeners to be
 50                        created and managed. CIMListeners are the receivers for cim/xml indications.
 51                        ATTN: KS needs to be completed.TBD
 52                    */
 53 kumpf         1.1  class PEGASUS_LISTENER_LINKAGE CIMListener
 54                    {
 55                    public:
 56 david.dillard 1.11     /**
 57                         * Constructs a CIMListener object.
 58                         *
 59                         * @param portNumber the specified socket port the listener will listen to
 60                         * @param sslContext the specifed SSL context
 61                         */
 62                        CIMListener(Uint32 portNumber, SSLContext* sslContext=NULL);
 63                    
 64                        /**
 65                         * Destructor of a CIMLIstener object.
 66                         */
 67 kumpf         1.1      ~CIMListener();
 68                    
 69 david.dillard 1.11     /**
 70                         * Returns the socket port number
 71                         *
 72                         * @return the socket port number.
 73                         */
 74                        Uint32 getPortNumber() const;
 75                    
 76                        /**
 77                         * Returns the SSL context
 78                         *
 79                         * @return the SSL context.
 80                         */
 81                        SSLContext* getSSLContext() const;
 82                    
 83                        /**
 84                         * Sets the SSL context
 85                         *
 86                         * @param the SSL context.
 87                         */
 88                        void setSSLContext(SSLContext* sslContext);
 89                    
 90 david.dillard 1.11     /**
 91                         * Starts for listening.
 92                         */
 93                        void start();
 94                    
 95                        /**
 96                         * Stops listening
 97                         */
 98                        void stop();
 99                    
100                        /**
101                         * Returns if the listener is active
102                         *
103                         * @return true if the listener is active;
104                         *              false otherwise.
105                         */
106                        Boolean isAlive();
107                    
108                        /**
109                         * Adds a CIMIndicationConsumer to the listener
110                         *
111 david.dillard 1.11      * @param consumer the CIMIndicationConsumer to add.
112                         * @return true if the indication consumer has been added successfully
113                         *              false otherwise.
114                         */
115                        Boolean addConsumer(CIMIndicationConsumer* consumer);
116                    
117                        /**
118                         * Removes a CIMIndicationConsumer from the listener.
119                         *
120                         * @param the CIMIndicationConsumer to remove.
121                         * @return true if the indication consumer has been removed successfully
122                         *              false otherwise.
123                         */
124                        Boolean removeConsumer(CIMIndicationConsumer* consumer);
125 kumpf         1.1  
126                    private:
127 david.dillard 1.11     /*
128                         * Copy constructor - not implemented
129                         */
130                        CIMListener(const CIMListener &);
131                    
132                        /*
133                         * Assignment operator - not implemented
134                         */
135                        CIMListener &operator=(const CIMListener &);
136                    
137                        /*
138                         * rep object
139                         */
140                        void* _rep;
141 kumpf         1.1  };
142                    
143                    PEGASUS_NAMESPACE_END
144                    
145                    #endif /* Pegasus_Listener_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2