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

  1 karl  1.3 //%2006////////////////////////////////////////////////////////////////////////
  2 h.sterling 1.1 //
  3                // 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                // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8                // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9                // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10                // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl       1.3 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12                // EMC Corporation; Symantec Corporation; The Open Group.
 13 h.sterling 1.1 //
 14                // Permission is hereby granted, free of charge, to any person obtaining a copy
 15                // of this software and associated documentation files (the "Software"), to
 16                // deal in the Software without restriction, including without limitation the
 17                // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18                // sell copies of the Software, and to permit persons to whom the Software is
 19                // furnished to do so, subject to the following conditions:
 20                // 
 21                // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22                // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23                // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24                // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25                // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26                // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27                // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28                // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29                //
 30                //==============================================================================
 31                //
 32                //%/////////////////////////////////////////////////////////////////////////////
 33                
 34 h.sterling 1.1 #ifndef Pegasus_Dynamic_Listener_h
 35                #define Pegasus_Dynamic_Listener_h
 36                
 37                #include <Pegasus/Common/Config.h>
 38                #include <Pegasus/Common/String.h>
 39                #include <Pegasus/DynListener/Linkage.h>
 40                
 41                PEGASUS_NAMESPACE_BEGIN
 42                PEGASUS_USING_STD;
 43                
 44                class SSLContext;
 45                
 46                class PEGASUS_DYNLISTENER_LINKAGE DynamicListener
 47                {
 48                public:
 49                
 50                    static const Boolean DEFAULT_CONSUMER_UNLOAD;
 51                    static const Uint32 DEFAULT_IDLE_TIMEOUT; 
 52                    static const Boolean DEFAULT_FORCE_SHUTDOWN;
 53                    static const Uint32 DEFAULT_SHUTDOWN_TIMEOUT;
 54                
 55 h.sterling 1.1     DynamicListener(Uint32 portNumber, 
 56                                    const String& consumerDir, 
 57                                    const String& consumerConfigDir,
 58                                    Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD, 
 59                                    Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT, 
 60                                    Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 61                
 62                #ifdef PEGASUS_HAS_SSL
 63                    DynamicListener(Uint32 portNumber, 
 64                                    const String& consumerDir,
 65                                    const String& consumerConfigDir,
 66                                    Boolean useSSL, 
 67                                    const String& keyPath, 
 68                                    const String& certPath,
 69                                    Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD, 
 70                                    Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT, 
 71                                    Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 72                
 73                    DynamicListener(Uint32 portNumber, 
 74                                    const String& consumerDir,
 75                                    const String& consumerConfigDir,
 76 h.sterling 1.1                     Boolean useSSL, 
 77                                    SSLContext* sslContext,
 78                                    Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD, 
 79                                    Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT, 
 80                                    Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 81                #endif
 82                
 83                    ~DynamicListener();
 84                
 85                    void start();
 86                
 87                    void stop(Boolean forceShutdown= DEFAULT_FORCE_SHUTDOWN);
 88                
 89                    Boolean isAlive();
 90                
 91 marek      1.4     Boolean addConsumer(
 92                                const String& consumerName,
 93                                const String& location = String::EMPTY);
 94 h.sterling 1.1 
 95                    Boolean removeConsumer(const String& consumerName);
 96                
 97                    Uint32 getPortNumber();
 98                
 99                    String getConsumerDir();
100                
101                    String getConsumerConfigDir();
102                
103                    void setEnableConsumerUnload(const Boolean enableConsumerUnload);
104                
105                    Boolean getEnableConsumerUnload();
106                
107 gs.keenan  1.2     void setIdleTimeout(Uint32 idleTimeout);
108 h.sterling 1.1 
109                    Uint32 getIdleTimeout(); 
110                
111                private:
112                    void* _rep;
113                
114                };
115                
116                PEGASUS_NAMESPACE_END
117                
118                #endif /* Pegasus_Dynamic_Listener_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2