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

  1 martin 1.5 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.6 //
  3 martin 1.5 // Licensed to The Open Group (TOG) under one or more contributor license
  4            // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5            // this work for additional information regarding copyright ownership.
  6            // Each contributor licenses this file to you under the OpenPegasus Open
  7            // Source License; you may not use this file except in compliance with the
  8            // License.
  9 martin 1.6 //
 10 martin 1.5 // Permission is hereby granted, free of charge, to any person obtaining a
 11            // copy of this software and associated documentation files (the "Software"),
 12            // to deal in the Software without restriction, including without limitation
 13            // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14            // and/or sell copies of the Software, and to permit persons to whom the
 15            // Software is furnished to do so, subject to the following conditions:
 16 martin 1.6 //
 17 martin 1.5 // The above copyright notice and this permission notice shall be included
 18            // in all copies or substantial portions of the Software.
 19 martin 1.6 //
 20 martin 1.5 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.6 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.5 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23            // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24            // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25            // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26            // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.6 //
 28 martin 1.5 //////////////////////////////////////////////////////////////////////////
 29 h.sterling 1.1 //
 30                //%/////////////////////////////////////////////////////////////////////////////
 31                
 32                #ifndef Pegasus_Dynamic_Listener_h
 33                #define Pegasus_Dynamic_Listener_h
 34                
 35                #include <Pegasus/Common/Config.h>
 36                #include <Pegasus/Common/String.h>
 37 karl       1.7.8.1 #include <Pegasus/Common/ReadWriteSem.h>
 38 h.sterling 1.1     #include <Pegasus/DynListener/Linkage.h>
 39                    
 40                    PEGASUS_NAMESPACE_BEGIN
 41                    PEGASUS_USING_STD;
 42                    
 43                    class SSLContext;
 44                    
 45                    class PEGASUS_DYNLISTENER_LINKAGE DynamicListener
 46                    {
 47                    public:
 48                    
 49                        static const Boolean DEFAULT_CONSUMER_UNLOAD;
 50 kumpf      1.7         static const Uint32 DEFAULT_IDLE_TIMEOUT;
 51 h.sterling 1.1         static const Boolean DEFAULT_FORCE_SHUTDOWN;
 52                        static const Uint32 DEFAULT_SHUTDOWN_TIMEOUT;
 53                    
 54 kumpf      1.7         DynamicListener(Uint32 portNumber,
 55                                        const String& consumerDir,
 56 h.sterling 1.1                         const String& consumerConfigDir,
 57 kumpf      1.7                         Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD,
 58                                        Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT,
 59 h.sterling 1.1                         Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 60                    
 61                    #ifdef PEGASUS_HAS_SSL
 62 kumpf      1.7         DynamicListener(Uint32 portNumber,
 63 h.sterling 1.1                         const String& consumerDir,
 64                                        const String& consumerConfigDir,
 65 kumpf      1.7                         Boolean useSSL,
 66                                        const String& keyPath,
 67 h.sterling 1.1                         const String& certPath,
 68 kumpf      1.7                         Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD,
 69                                        Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT,
 70 karl       1.7.8.2                     Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT,
 71 karl       1.7.8.3                     const String & sslCipherSuite="DEFAULT",
 72                                        const Boolean& sslCompatibility = false);
 73 h.sterling 1.1     
 74 kumpf      1.7         DynamicListener(Uint32 portNumber,
 75 h.sterling 1.1                         const String& consumerDir,
 76                                        const String& consumerConfigDir,
 77 kumpf      1.7                         Boolean useSSL,
 78 h.sterling 1.1                         SSLContext* sslContext,
 79 karl       1.7.8.1                     ReadWriteSem*  _sslContextObjectLock,
 80 kumpf      1.7                         Boolean enableConsumerUnload = DEFAULT_CONSUMER_UNLOAD,
 81                                        Uint32 consumerIdleTimeout = DEFAULT_IDLE_TIMEOUT,
 82 h.sterling 1.1                         Uint32 shutdownTimeout = DEFAULT_SHUTDOWN_TIMEOUT);
 83                    #endif
 84                    
 85                        ~DynamicListener();
 86                    
 87                        void start();
 88                    
 89                        void stop(Boolean forceShutdown= DEFAULT_FORCE_SHUTDOWN);
 90                    
 91                        Boolean isAlive();
 92                    
 93 marek      1.4         Boolean addConsumer(
 94                                    const String& consumerName,
 95                                    const String& location = String::EMPTY);
 96 h.sterling 1.1     
 97                        Boolean removeConsumer(const String& consumerName);
 98                    
 99                        Uint32 getPortNumber();
100                    
101                        String getConsumerDir();
102                    
103                        String getConsumerConfigDir();
104                    
105                        void setEnableConsumerUnload(const Boolean enableConsumerUnload);
106                    
107                        Boolean getEnableConsumerUnload();
108                    
109 gs.keenan  1.2         void setIdleTimeout(Uint32 idleTimeout);
110 h.sterling 1.1     
111 kumpf      1.7         Uint32 getIdleTimeout();
112 h.sterling 1.1     
113                    private:
114                        void* _rep;
115                    
116                    };
117                    
118                    PEGASUS_NAMESPACE_END
119                    
120                    #endif /* Pegasus_Dynamic_Listener_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2