diff options
author | Marc Laukien <marc@zeroc.com> | 2002-06-24 18:49:27 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-06-24 18:49:27 +0000 |
commit | 1cb9977463f5a832b3f6daea8a2322d38dbba423 (patch) | |
tree | d1ae4045c5fa9a7124201510df3ad5b7211788cb /cpp/src | |
parent | Added checks to disallow definition of a name in a derived class/interface (diff) | |
download | ice-1cb9977463f5a832b3f6daea8a2322d38dbba423.tar.bz2 ice-1cb9977463f5a832b3f6daea8a2322d38dbba423.tar.xz ice-1cb9977463f5a832b3f6daea8a2322d38dbba423.zip |
unix format
Diffstat (limited to 'cpp/src')
118 files changed, 7392 insertions, 7392 deletions
diff --git a/cpp/src/Freeze/DBI.h b/cpp/src/Freeze/DBI.h index 7014a7f623a..448a7dfa680 100644 --- a/cpp/src/Freeze/DBI.h +++ b/cpp/src/Freeze/DBI.h @@ -1,157 +1,157 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef FREEZE_DB_I_H
-#define FREEZE_DB_I_H
-
-#include <IceUtil/IceUtil.h>
-#include <Ice/Ice.h>
-#include <Freeze/DB.h>
-#include <db.h>
-
-namespace Freeze
-{
-
-//
-// Check a Berkeley DB return result, and throw an apropriate
-// exception.
-//
-void checkBerkeleyDBReturn(int ret, const std::string&, const std::string&);
-
-class DBEnvironmentI;
-typedef IceUtil::Handle<DBEnvironmentI> DBEnvironmentIPtr;
-
-class DBEnvironmentI : public DBEnvironment, public IceUtil::RecMutex
-{
-public:
-
- DBEnvironmentI(const ::Ice::CommunicatorPtr&, const std::string&);
- virtual ~DBEnvironmentI();
-
- virtual std::string getName();
- virtual ::Ice::CommunicatorPtr getCommunicator();
-
- virtual DBPtr openDB(const std::string&, bool);
-
- virtual DBTransactionPtr startTransaction();
-
- virtual void close();
-
-private:
-
- // DBI needs access to add, remove & eraseDB
- friend class DBI;
- void add(const std::string&, const DBPtr&);
- void remove(const std::string&);
- void eraseDB(const std::string&);
-
- ::Ice::CommunicatorPtr _communicator;
- int _trace;
-
- ::DB_ENV* _dbEnv;
-
- std::string _name;
- std::string _errorPrefix;
-
- std::map<std::string, DBPtr> _dbMap;
-};
-
-class DBTransactionI : public DBTransaction, public IceUtil::Mutex
-{
-public:
-
- DBTransactionI(const ::Ice::CommunicatorPtr&, ::DB_ENV*, const std::string&);
- virtual ~DBTransactionI();
-
- virtual void commit();
- virtual void abort();
-
-private:
-
- ::Ice::CommunicatorPtr _communicator;
- int _trace;
-
- ::DB_TXN* _tid;
-
- std::string _name;
- std::string _errorPrefix;
-};
-
-class DBCursorI : public DBCursor, public IceUtil::Mutex
-{
-public:
-
- DBCursorI(const ::Ice::CommunicatorPtr&, const std::string&, DBC*);
- ~DBCursorI();
-
- virtual ::Ice::CommunicatorPtr getCommunicator();
-
- virtual void curr(Key& key, Value& value);
- virtual void set(const Value& value);
- virtual bool next();
- virtual bool prev();
- virtual void del();
-
- virtual DBCursorPtr clone();
- virtual void close();
-
-private:
-
- ::Ice::CommunicatorPtr _communicator;
- int _trace;
-
- std::string _name;
- std::string _errorPrefix;
-
- DBC* _cursor;
-};
-
-class DBI : public DB, public IceUtil::Mutex
-{
-public:
-
- DBI(const ::Ice::CommunicatorPtr&, const DBEnvironmentIPtr&, ::DB*, const std::string&, bool);
- virtual ~DBI();
-
- virtual std::string getName();
- virtual ::Ice::CommunicatorPtr getCommunicator();
-
- virtual ::Ice::Long getNumberOfRecords();
-
- virtual DBCursorPtr getCursor();
- virtual DBCursorPtr getCursorAtKey(const Key&);
-
- virtual void put(const Key&, const Value&);
- virtual bool contains(const Key&);
- virtual Value get(const Key&);
- virtual void del(const Key&);
-
- virtual void clear();
-
- virtual void close();
- virtual void remove();
-
- virtual EvictorPtr createEvictor(EvictorPersistenceMode);
-
-private:
-
- ::Ice::CommunicatorPtr _communicator;
- int _trace;
-
- DBEnvironmentIPtr _dbEnvObj;
- ::DB* _db;
-
- std::string _name;
- std::string _errorPrefix;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef FREEZE_DB_I_H +#define FREEZE_DB_I_H + +#include <IceUtil/IceUtil.h> +#include <Ice/Ice.h> +#include <Freeze/DB.h> +#include <db.h> + +namespace Freeze +{ + +// +// Check a Berkeley DB return result, and throw an apropriate +// exception. +// +void checkBerkeleyDBReturn(int ret, const std::string&, const std::string&); + +class DBEnvironmentI; +typedef IceUtil::Handle<DBEnvironmentI> DBEnvironmentIPtr; + +class DBEnvironmentI : public DBEnvironment, public IceUtil::RecMutex +{ +public: + + DBEnvironmentI(const ::Ice::CommunicatorPtr&, const std::string&); + virtual ~DBEnvironmentI(); + + virtual std::string getName(); + virtual ::Ice::CommunicatorPtr getCommunicator(); + + virtual DBPtr openDB(const std::string&, bool); + + virtual DBTransactionPtr startTransaction(); + + virtual void close(); + +private: + + // DBI needs access to add, remove & eraseDB + friend class DBI; + void add(const std::string&, const DBPtr&); + void remove(const std::string&); + void eraseDB(const std::string&); + + ::Ice::CommunicatorPtr _communicator; + int _trace; + + ::DB_ENV* _dbEnv; + + std::string _name; + std::string _errorPrefix; + + std::map<std::string, DBPtr> _dbMap; +}; + +class DBTransactionI : public DBTransaction, public IceUtil::Mutex +{ +public: + + DBTransactionI(const ::Ice::CommunicatorPtr&, ::DB_ENV*, const std::string&); + virtual ~DBTransactionI(); + + virtual void commit(); + virtual void abort(); + +private: + + ::Ice::CommunicatorPtr _communicator; + int _trace; + + ::DB_TXN* _tid; + + std::string _name; + std::string _errorPrefix; +}; + +class DBCursorI : public DBCursor, public IceUtil::Mutex +{ +public: + + DBCursorI(const ::Ice::CommunicatorPtr&, const std::string&, DBC*); + ~DBCursorI(); + + virtual ::Ice::CommunicatorPtr getCommunicator(); + + virtual void curr(Key& key, Value& value); + virtual void set(const Value& value); + virtual bool next(); + virtual bool prev(); + virtual void del(); + + virtual DBCursorPtr clone(); + virtual void close(); + +private: + + ::Ice::CommunicatorPtr _communicator; + int _trace; + + std::string _name; + std::string _errorPrefix; + + DBC* _cursor; +}; + +class DBI : public DB, public IceUtil::Mutex +{ +public: + + DBI(const ::Ice::CommunicatorPtr&, const DBEnvironmentIPtr&, ::DB*, const std::string&, bool); + virtual ~DBI(); + + virtual std::string getName(); + virtual ::Ice::CommunicatorPtr getCommunicator(); + + virtual ::Ice::Long getNumberOfRecords(); + + virtual DBCursorPtr getCursor(); + virtual DBCursorPtr getCursorAtKey(const Key&); + + virtual void put(const Key&, const Value&); + virtual bool contains(const Key&); + virtual Value get(const Key&); + virtual void del(const Key&); + + virtual void clear(); + + virtual void close(); + virtual void remove(); + + virtual EvictorPtr createEvictor(EvictorPersistenceMode); + +private: + + ::Ice::CommunicatorPtr _communicator; + int _trace; + + DBEnvironmentIPtr _dbEnvObj; + ::DB* _db; + + std::string _name; + std::string _errorPrefix; +}; + +} + +#endif diff --git a/cpp/src/Freeze/EvictorI.h b/cpp/src/Freeze/EvictorI.h index f113579dad5..5c7a7304b2f 100644 --- a/cpp/src/Freeze/EvictorI.h +++ b/cpp/src/Freeze/EvictorI.h @@ -1,76 +1,76 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef FREEZE_EVICTOR_I_H
-#define FREEZE_EVICTOR_I_H
-
-#include <IceUtil/IceUtil.h>
-#include <Ice/Ice.h>
-#include <Freeze/Evictor.h>
-#include <Freeze/IdentityObjectDict.h>
-
-#include <list>
-
-namespace Freeze
-{
-
-class EvictorI : public Evictor, public IceUtil::Mutex
-{
-public:
-
- EvictorI(const Freeze::DBPtr&, EvictorPersistenceMode);
- virtual ~EvictorI();
-
- virtual DBPtr getDB();
-
- virtual void setSize(Ice::Int);
- virtual Ice::Int getSize();
-
- virtual void createObject(const Ice::Identity&, const Ice::ObjectPtr&);
- virtual void destroyObject(const Ice::Identity&);
-
- virtual void installServantInitializer(const ServantInitializerPtr&);
- virtual EvictorIteratorPtr getIterator();
- virtual bool hasObject(const Ice::Identity&);
-
- virtual Ice::ObjectPtr locate(const Ice::ObjectAdapterPtr&, const Ice::Current&, Ice::LocalObjectPtr&);
- virtual void finished(const Ice::ObjectAdapterPtr&, const Ice::Current&,
- const Ice::ObjectPtr&, const Ice::LocalObjectPtr&);
- virtual void deactivate();
-
-private:
-
- struct EvictorElement : public Ice::LocalObject
- {
- Ice::ObjectPtr servant;
- std::list<Ice::Identity>::iterator position;
- int usageCount;
- };
- typedef IceUtil::Handle<EvictorElement> EvictorElementPtr;
-
- void evict();
- EvictorElementPtr add(const Ice::Identity&, const Ice::ObjectPtr&);
- void remove(const Ice::Identity&);
-
- std::map<Ice::Identity, EvictorElementPtr> _evictorMap;
- std::list<Ice::Identity> _evictorList;
- std::map<Ice::Identity, EvictorElementPtr>::size_type _evictorSize;
-
- bool _deactivated;
- IdentityObjectDict _dict;
- Freeze::DBPtr _db;
- EvictorPersistenceMode _persistenceMode;
- ServantInitializerPtr _initializer;
- int _trace;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef FREEZE_EVICTOR_I_H +#define FREEZE_EVICTOR_I_H + +#include <IceUtil/IceUtil.h> +#include <Ice/Ice.h> +#include <Freeze/Evictor.h> +#include <Freeze/IdentityObjectDict.h> + +#include <list> + +namespace Freeze +{ + +class EvictorI : public Evictor, public IceUtil::Mutex +{ +public: + + EvictorI(const Freeze::DBPtr&, EvictorPersistenceMode); + virtual ~EvictorI(); + + virtual DBPtr getDB(); + + virtual void setSize(Ice::Int); + virtual Ice::Int getSize(); + + virtual void createObject(const Ice::Identity&, const Ice::ObjectPtr&); + virtual void destroyObject(const Ice::Identity&); + + virtual void installServantInitializer(const ServantInitializerPtr&); + virtual EvictorIteratorPtr getIterator(); + virtual bool hasObject(const Ice::Identity&); + + virtual Ice::ObjectPtr locate(const Ice::ObjectAdapterPtr&, const Ice::Current&, Ice::LocalObjectPtr&); + virtual void finished(const Ice::ObjectAdapterPtr&, const Ice::Current&, + const Ice::ObjectPtr&, const Ice::LocalObjectPtr&); + virtual void deactivate(); + +private: + + struct EvictorElement : public Ice::LocalObject + { + Ice::ObjectPtr servant; + std::list<Ice::Identity>::iterator position; + int usageCount; + }; + typedef IceUtil::Handle<EvictorElement> EvictorElementPtr; + + void evict(); + EvictorElementPtr add(const Ice::Identity&, const Ice::ObjectPtr&); + void remove(const Ice::Identity&); + + std::map<Ice::Identity, EvictorElementPtr> _evictorMap; + std::list<Ice::Identity> _evictorList; + std::map<Ice::Identity, EvictorElementPtr>::size_type _evictorSize; + + bool _deactivated; + IdentityObjectDict _dict; + Freeze::DBPtr _db; + EvictorPersistenceMode _persistenceMode; + ServantInitializerPtr _initializer; + int _trace; +}; + +} + +#endif diff --git a/cpp/src/Glacier/Blobject.h b/cpp/src/Glacier/Blobject.h index ae550769290..3c362e771c0 100644 --- a/cpp/src/Glacier/Blobject.h +++ b/cpp/src/Glacier/Blobject.h @@ -1,53 +1,53 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef BLOBJECT_H
-#define BLOBJECT_H
-
-#include <Ice/Ice.h>
-#include <Glacier/Missive.h>
-
-namespace Glacier
-{
-
-class Blobject : public Ice::Blobject
-{
-public:
-
- Blobject(const Ice::CommunicatorPtr&);
- virtual ~Blobject();
-
- virtual bool reverse() = 0;
-
- void destroy();
- bool invoke(Ice::ObjectPrx&, const std::vector<Ice::Byte>&, std::vector<Ice::Byte>&, const Ice::Current&);
- MissiveQueuePtr modifyProxy(Ice::ObjectPrx&, const Ice::Current&);
-
-protected:
-
- Ice::CommunicatorPtr _communicator;
- Ice::LoggerPtr _logger;
-
- int _traceLevel;
- bool _forwardContext;
- IceUtil::Time _batchSleepTime;
-
-private:
-
- MissiveQueuePtr getMissiveQueue();
-
- MissiveQueuePtr _missiveQueue;
- IceUtil::ThreadControl _missiveQueueControl;
- IceUtil::Mutex _missiveQueueMutex;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef BLOBJECT_H +#define BLOBJECT_H + +#include <Ice/Ice.h> +#include <Glacier/Missive.h> + +namespace Glacier +{ + +class Blobject : public Ice::Blobject +{ +public: + + Blobject(const Ice::CommunicatorPtr&); + virtual ~Blobject(); + + virtual bool reverse() = 0; + + void destroy(); + bool invoke(Ice::ObjectPrx&, const std::vector<Ice::Byte>&, std::vector<Ice::Byte>&, const Ice::Current&); + MissiveQueuePtr modifyProxy(Ice::ObjectPrx&, const Ice::Current&); + +protected: + + Ice::CommunicatorPtr _communicator; + Ice::LoggerPtr _logger; + + int _traceLevel; + bool _forwardContext; + IceUtil::Time _batchSleepTime; + +private: + + MissiveQueuePtr getMissiveQueue(); + + MissiveQueuePtr _missiveQueue; + IceUtil::ThreadControl _missiveQueueControl; + IceUtil::Mutex _missiveQueueMutex; +}; + +} + +#endif diff --git a/cpp/src/Glacier/ClientBlobject.h b/cpp/src/Glacier/ClientBlobject.h index 77d68adf86a..cb866f6a4ac 100644 --- a/cpp/src/Glacier/ClientBlobject.h +++ b/cpp/src/Glacier/ClientBlobject.h @@ -1,39 +1,39 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef CLIENT_BLOBJECT_H
-#define CLIENT_BLOBJECT_H
-
-#include <Ice/RoutingTableF.h>
-#include <Glacier/Blobject.h>
-
-namespace Glacier
-{
-
-class ClientBlobject : public Glacier::Blobject
-{
-public:
-
- ClientBlobject(const Ice::CommunicatorPtr&, const IceInternal::RoutingTablePtr&, const std::string&);
-
- virtual bool reverse();
-
- void destroy();
- virtual bool ice_invoke(const std::vector<Ice::Byte>&, std::vector<Ice::Byte>&, const Ice::Current&);
-
-private:
-
- IceInternal::RoutingTablePtr _routingTable;
- std::vector<std::string> _allowCategories;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef CLIENT_BLOBJECT_H +#define CLIENT_BLOBJECT_H + +#include <Ice/RoutingTableF.h> +#include <Glacier/Blobject.h> + +namespace Glacier +{ + +class ClientBlobject : public Glacier::Blobject +{ +public: + + ClientBlobject(const Ice::CommunicatorPtr&, const IceInternal::RoutingTablePtr&, const std::string&); + + virtual bool reverse(); + + void destroy(); + virtual bool ice_invoke(const std::vector<Ice::Byte>&, std::vector<Ice::Byte>&, const Ice::Current&); + +private: + + IceInternal::RoutingTablePtr _routingTable; + std::vector<std::string> _allowCategories; +}; + +} + +#endif diff --git a/cpp/src/Glacier/Missive.h b/cpp/src/Glacier/Missive.h index 534dee19f4f..96ec51c5762 100644 --- a/cpp/src/Glacier/Missive.h +++ b/cpp/src/Glacier/Missive.h @@ -1,74 +1,74 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef MISSIVE_H
-#define MISSIVE_H
-
-#include <Ice/Ice.h>
-#include <IceUtil/Thread.h>
-#include <IceUtil/Monitor.h>
-
-namespace Glacier
-{
-
-class Missive;
-typedef IceUtil::Handle<Missive> MissivePtr;
-
-class Missive : virtual public IceUtil::Shared
-{
-public:
-
- Missive(const Ice::ObjectPrx&, const std::vector<Ice::Byte>&, const Ice::Current&, bool);
-
- void invoke();
- bool override(const MissivePtr&);
- const Ice::ObjectPrx& getProxy() const;
- const Ice::Current& getCurrent() const;
-
-private:
-
- Ice::ObjectPrx _proxy;
- std::vector<Ice::Byte> _inParams;
- Ice::Current _current;
- bool _forwardContext;
- std::string _override;
-};
-
-class MissiveQueue;
-typedef IceUtil::Handle<MissiveQueue> MissiveQueuePtr;
-
-class MissiveQueue : public IceUtil::Thread, public IceUtil::Monitor<IceUtil::Mutex>
-{
-public:
-
- MissiveQueue(const Ice::CommunicatorPtr&, int, bool, const IceUtil::Time&);
- virtual ~MissiveQueue();
-
- void destroy();
- void add(const MissivePtr&);
-
- virtual void run();
-
-private:
-
- Ice::CommunicatorPtr _communicator;
- Ice::LoggerPtr _logger;
- int _traceLevel;
- bool _reverse;
- IceUtil::Time _sleepTime;
-
- std::vector<MissivePtr> _missives;
- bool _destroy;
-};
-
-};
-
-#endif
-
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef MISSIVE_H +#define MISSIVE_H + +#include <Ice/Ice.h> +#include <IceUtil/Thread.h> +#include <IceUtil/Monitor.h> + +namespace Glacier +{ + +class Missive; +typedef IceUtil::Handle<Missive> MissivePtr; + +class Missive : virtual public IceUtil::Shared +{ +public: + + Missive(const Ice::ObjectPrx&, const std::vector<Ice::Byte>&, const Ice::Current&, bool); + + void invoke(); + bool override(const MissivePtr&); + const Ice::ObjectPrx& getProxy() const; + const Ice::Current& getCurrent() const; + +private: + + Ice::ObjectPrx _proxy; + std::vector<Ice::Byte> _inParams; + Ice::Current _current; + bool _forwardContext; + std::string _override; +}; + +class MissiveQueue; +typedef IceUtil::Handle<MissiveQueue> MissiveQueuePtr; + +class MissiveQueue : public IceUtil::Thread, public IceUtil::Monitor<IceUtil::Mutex> +{ +public: + + MissiveQueue(const Ice::CommunicatorPtr&, int, bool, const IceUtil::Time&); + virtual ~MissiveQueue(); + + void destroy(); + void add(const MissivePtr&); + + virtual void run(); + +private: + + Ice::CommunicatorPtr _communicator; + Ice::LoggerPtr _logger; + int _traceLevel; + bool _reverse; + IceUtil::Time _sleepTime; + + std::vector<MissivePtr> _missives; + bool _destroy; +}; + +}; + +#endif + diff --git a/cpp/src/Glacier/RouterI.h b/cpp/src/Glacier/RouterI.h index 8dc57381f4a..03a3aaee906 100644 --- a/cpp/src/Glacier/RouterI.h +++ b/cpp/src/Glacier/RouterI.h @@ -1,55 +1,55 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef GLACIER_ROUTER_I_H
-#define GLACIER_ROUTER_I_H
-
-#include <Ice/RoutingTableF.h>
-#include <Ice/Ice.h>
-#include <Glacier/Router.h>
-#include <Glacier/SessionManagerF.h>
-
-namespace Glacier
-{
-
-class RouterI : public Router
-{
-public:
-
- RouterI(const Ice::ObjectAdapterPtr&, const Ice::ObjectAdapterPtr&, const ::IceInternal::RoutingTablePtr&,
- const SessionManagerPrx&, const std::string&);
-
- virtual ~RouterI();
-
- void destroy();
-
- virtual Ice::ObjectPrx getClientProxy(const Ice::Current&);
- virtual Ice::ObjectPrx getServerProxy(const Ice::Current&);
- virtual void addProxy(const Ice::ObjectPrx&, const Ice::Current&);
- virtual void shutdown(const Ice::Current&);
- virtual SessionPrx createSession(const Ice::Current&);
-
-private:
-
- Ice::ObjectAdapterPtr _clientAdapter;
- Ice::ObjectAdapterPtr _serverAdapter;
- Ice::LoggerPtr _logger;
- ::IceInternal::RoutingTablePtr _routingTable;
- int _routingTableTraceLevel;
-
- IceUtil::Mutex _sessionMutex;
- SessionManagerPrx _sessionManager;
- std::vector<SessionPrx> _sessions;
- std::string _userId;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef GLACIER_ROUTER_I_H +#define GLACIER_ROUTER_I_H + +#include <Ice/RoutingTableF.h> +#include <Ice/Ice.h> +#include <Glacier/Router.h> +#include <Glacier/SessionManagerF.h> + +namespace Glacier +{ + +class RouterI : public Router +{ +public: + + RouterI(const Ice::ObjectAdapterPtr&, const Ice::ObjectAdapterPtr&, const ::IceInternal::RoutingTablePtr&, + const SessionManagerPrx&, const std::string&); + + virtual ~RouterI(); + + void destroy(); + + virtual Ice::ObjectPrx getClientProxy(const Ice::Current&); + virtual Ice::ObjectPrx getServerProxy(const Ice::Current&); + virtual void addProxy(const Ice::ObjectPrx&, const Ice::Current&); + virtual void shutdown(const Ice::Current&); + virtual SessionPrx createSession(const Ice::Current&); + +private: + + Ice::ObjectAdapterPtr _clientAdapter; + Ice::ObjectAdapterPtr _serverAdapter; + Ice::LoggerPtr _logger; + ::IceInternal::RoutingTablePtr _routingTable; + int _routingTableTraceLevel; + + IceUtil::Mutex _sessionMutex; + SessionManagerPrx _sessionManager; + std::vector<SessionPrx> _sessions; + std::string _userId; +}; + +} + +#endif diff --git a/cpp/src/Glacier/ServerBlobject.h b/cpp/src/Glacier/ServerBlobject.h index 41d71726547..d28ac9e9515 100644 --- a/cpp/src/Glacier/ServerBlobject.h +++ b/cpp/src/Glacier/ServerBlobject.h @@ -1,37 +1,37 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef SERVER_BLOBJECT_H
-#define SERVER_BLOBJECT_H
-
-#include <Glacier/Blobject.h>
-
-namespace Glacier
-{
-
-class ServerBlobject : public Glacier::Blobject
-{
-public:
-
- ServerBlobject(const Ice::ObjectAdapterPtr&);
-
- virtual bool reverse();
-
- void destroy();
- virtual bool ice_invoke(const std::vector<Ice::Byte>&, std::vector<Ice::Byte>&, const Ice::Current&);
-
-private:
-
- Ice::ObjectAdapterPtr _clientAdapter;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef SERVER_BLOBJECT_H +#define SERVER_BLOBJECT_H + +#include <Glacier/Blobject.h> + +namespace Glacier +{ + +class ServerBlobject : public Glacier::Blobject +{ +public: + + ServerBlobject(const Ice::ObjectAdapterPtr&); + + virtual bool reverse(); + + void destroy(); + virtual bool ice_invoke(const std::vector<Ice::Byte>&, std::vector<Ice::Byte>&, const Ice::Current&); + +private: + + Ice::ObjectAdapterPtr _clientAdapter; +}; + +} + +#endif diff --git a/cpp/src/Glacier/StarterI.h b/cpp/src/Glacier/StarterI.h index 1642d911604..41ba2958f2a 100644 --- a/cpp/src/Glacier/StarterI.h +++ b/cpp/src/Glacier/StarterI.h @@ -1,66 +1,66 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef GLACIER_GLACIER_I_H
-#define GLACIER_GLACIER_I_H
-
-#include <Ice/Ice.h>
-#include <IceSSL/RSACertificateGen.h>
-#include <Glacier/Starter.h>
-
-namespace Glacier
-{
-
-using IceSSL::OpenSSL::RSACertificateGenContext;
-using IceSSL::OpenSSL::RSACertificateGen;
-
-class StarterI : public Starter
-{
-public:
-
- StarterI(const Ice::CommunicatorPtr&, const PasswordVerifierPrx&);
-
- void destroy();
-
- RouterPrx startRouter(const std::string&,
- const std::string&,
- Ice::ByteSeq&,
- Ice::ByteSeq&,
- Ice::ByteSeq&,
- const Ice::Current&);
-
-private:
-
- Ice::CommunicatorPtr _communicator;
- Ice::LoggerPtr _logger;
- Ice::PropertiesPtr _properties;
- PasswordVerifierPrx _verifier;
- int _traceLevel;
- RSACertificateGenContext _certContext;
- RSACertificateGen _certificateGenerator;
-};
-
-class CryptPasswordVerifierI : public PasswordVerifier, public IceUtil::Mutex
-{
-public:
-
- CryptPasswordVerifierI(const std::map<std::string, std::string>&);
-
- virtual bool checkPassword(const std::string&, const std::string&, const Ice::Current&);
- virtual void destroy(const Ice::Current&);
-
-private:
-
- const std::map<std::string, std::string> _passwords;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef GLACIER_GLACIER_I_H +#define GLACIER_GLACIER_I_H + +#include <Ice/Ice.h> +#include <IceSSL/RSACertificateGen.h> +#include <Glacier/Starter.h> + +namespace Glacier +{ + +using IceSSL::OpenSSL::RSACertificateGenContext; +using IceSSL::OpenSSL::RSACertificateGen; + +class StarterI : public Starter +{ +public: + + StarterI(const Ice::CommunicatorPtr&, const PasswordVerifierPrx&); + + void destroy(); + + RouterPrx startRouter(const std::string&, + const std::string&, + Ice::ByteSeq&, + Ice::ByteSeq&, + Ice::ByteSeq&, + const Ice::Current&); + +private: + + Ice::CommunicatorPtr _communicator; + Ice::LoggerPtr _logger; + Ice::PropertiesPtr _properties; + PasswordVerifierPrx _verifier; + int _traceLevel; + RSACertificateGenContext _certContext; + RSACertificateGen _certificateGenerator; +}; + +class CryptPasswordVerifierI : public PasswordVerifier, public IceUtil::Mutex +{ +public: + + CryptPasswordVerifierI(const std::map<std::string, std::string>&); + + virtual bool checkPassword(const std::string&, const std::string&, const Ice::Current&); + virtual void destroy(const Ice::Current&); + +private: + + const std::map<std::string, std::string> _passwords; +}; + +} + +#endif diff --git a/cpp/src/Ice/Acceptor.h b/cpp/src/Ice/Acceptor.h index de2513c749b..d690608903a 100644 --- a/cpp/src/Ice/Acceptor.h +++ b/cpp/src/Ice/Acceptor.h @@ -1,38 +1,38 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_ACCEPTOR_H
-#define ICE_ACCEPTOR_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/AcceptorF.h>
-#include <Ice/TransceiverF.h>
-
-#ifndef _WIN32
-# define SOCKET int
-#endif
-
-namespace IceInternal
-{
-
-class ICE_PROTOCOL_API Acceptor : public ::IceUtil::Shared
-{
-public:
-
- virtual SOCKET fd() = 0;
- virtual void close() = 0;
- virtual void listen() = 0;
- virtual TransceiverPtr accept(int) = 0;
- virtual std::string toString() const = 0;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_ACCEPTOR_H +#define ICE_ACCEPTOR_H + +#include <IceUtil/Shared.h> +#include <Ice/AcceptorF.h> +#include <Ice/TransceiverF.h> + +#ifndef _WIN32 +# define SOCKET int +#endif + +namespace IceInternal +{ + +class ICE_PROTOCOL_API Acceptor : public ::IceUtil::Shared +{ +public: + + virtual SOCKET fd() = 0; + virtual void close() = 0; + virtual void listen() = 0; + virtual TransceiverPtr accept(int) = 0; + virtual std::string toString() const = 0; +}; + +} + +#endif diff --git a/cpp/src/Ice/AcceptorF.h b/cpp/src/Ice/AcceptorF.h index a5358606309..b8eb80288d4 100644 --- a/cpp/src/Ice/AcceptorF.h +++ b/cpp/src/Ice/AcceptorF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_ACCEPTOR_F_H
-#define ICE_ACCEPTOR_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class Acceptor;
-ICE_PROTOCOL_API void incRef(Acceptor*);
-ICE_PROTOCOL_API void decRef(Acceptor*);
-typedef Handle<Acceptor> AcceptorPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_ACCEPTOR_F_H +#define ICE_ACCEPTOR_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class Acceptor; +ICE_PROTOCOL_API void incRef(Acceptor*); +ICE_PROTOCOL_API void decRef(Acceptor*); +typedef Handle<Acceptor> AcceptorPtr; + +} + +#endif diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h index 51a585cafe3..7e78e07efab 100644 --- a/cpp/src/Ice/CommunicatorI.h +++ b/cpp/src/Ice/CommunicatorI.h @@ -1,84 +1,84 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_COMMUNICATOR_I_H
-#define ICE_COMMUNICATOR_I_H
-
-#include <IceUtil/RecMutex.h>
-
-#include <Ice/ThreadPoolF.h>
-#include <Ice/Initialize.h>
-#include <Ice/Communicator.h>
-
-namespace Ice
-{
-
-class CommunicatorI : public Communicator, public ::IceUtil::RecMutex
-{
-public:
-
- virtual void destroy();
- virtual void shutdown();
- virtual void waitForShutdown();
-
- virtual ObjectPrx stringToProxy(const std::string&);
- virtual std::string proxyToString(const ObjectPrx&);
-
- virtual ObjectAdapterPtr createObjectAdapter(const std::string&);
- virtual ObjectAdapterPtr createObjectAdapterFromProperty(const std::string&, const std::string&);
- virtual ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&);
-
- virtual void addObjectFactory(const ObjectFactoryPtr&, const std::string&);
- virtual void removeObjectFactory(const std::string&);
- virtual ObjectFactoryPtr findObjectFactory(const std::string&);
-
- virtual void addUserExceptionFactory(const UserExceptionFactoryPtr&, const std::string&);
- virtual void removeUserExceptionFactory(const std::string&);
- virtual UserExceptionFactoryPtr findUserExceptionFactory(const std::string&);
-
- virtual PropertiesPtr getProperties();
-
- virtual LoggerPtr getLogger();
- virtual void setLogger(const LoggerPtr&);
-
- virtual void setDefaultRouter(const RouterPrx&);
-
- virtual PluginManagerPtr getPluginManager();
-
-private:
-
- CommunicatorI(int&, char*[], const PropertiesPtr&);
- virtual ~CommunicatorI();
-
- //
- // Certain initialization tasks need to be completed after the
- // constructor.
- //
- void finishSetup(int&, char*[]);
-
- friend ICE_API CommunicatorPtr initialize(int&, char*[], Int);
- friend ICE_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, Int);
- friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&);
-
- ::IceInternal::InstancePtr _instance;
-
- //
- // We need _serverThreadPool directly in CommunicatorI. That's
- // because the shutdown() operation is signal-safe, and thus must
- // not access any mutex locks or _instance. It may only access
- // _serverThreadPool->initiateShutdown(), which is signal-safe as
- // well.
- //
- ::IceInternal::ThreadPoolPtr _serverThreadPool;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_COMMUNICATOR_I_H +#define ICE_COMMUNICATOR_I_H + +#include <IceUtil/RecMutex.h> + +#include <Ice/ThreadPoolF.h> +#include <Ice/Initialize.h> +#include <Ice/Communicator.h> + +namespace Ice +{ + +class CommunicatorI : public Communicator, public ::IceUtil::RecMutex +{ +public: + + virtual void destroy(); + virtual void shutdown(); + virtual void waitForShutdown(); + + virtual ObjectPrx stringToProxy(const std::string&); + virtual std::string proxyToString(const ObjectPrx&); + + virtual ObjectAdapterPtr createObjectAdapter(const std::string&); + virtual ObjectAdapterPtr createObjectAdapterFromProperty(const std::string&, const std::string&); + virtual ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&); + + virtual void addObjectFactory(const ObjectFactoryPtr&, const std::string&); + virtual void removeObjectFactory(const std::string&); + virtual ObjectFactoryPtr findObjectFactory(const std::string&); + + virtual void addUserExceptionFactory(const UserExceptionFactoryPtr&, const std::string&); + virtual void removeUserExceptionFactory(const std::string&); + virtual UserExceptionFactoryPtr findUserExceptionFactory(const std::string&); + + virtual PropertiesPtr getProperties(); + + virtual LoggerPtr getLogger(); + virtual void setLogger(const LoggerPtr&); + + virtual void setDefaultRouter(const RouterPrx&); + + virtual PluginManagerPtr getPluginManager(); + +private: + + CommunicatorI(int&, char*[], const PropertiesPtr&); + virtual ~CommunicatorI(); + + // + // Certain initialization tasks need to be completed after the + // constructor. + // + void finishSetup(int&, char*[]); + + friend ICE_API CommunicatorPtr initialize(int&, char*[], Int); + friend ICE_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, Int); + friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&); + + ::IceInternal::InstancePtr _instance; + + // + // We need _serverThreadPool directly in CommunicatorI. That's + // because the shutdown() operation is signal-safe, and thus must + // not access any mutex locks or _instance. It may only access + // _serverThreadPool->initiateShutdown(), which is signal-safe as + // well. + // + ::IceInternal::ThreadPoolPtr _serverThreadPool; +}; + +} + +#endif diff --git a/cpp/src/Ice/Connection.h b/cpp/src/Ice/Connection.h index 010745d0dc1..0128cd029f8 100644 --- a/cpp/src/Ice/Connection.h +++ b/cpp/src/Ice/Connection.h @@ -1,121 +1,121 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_CONNECTION_H
-#define ICE_CONNECTION_H
-
-#include <IceUtil/RecMutex.h>
-
-#include <Ice/ConnectionF.h>
-#include <Ice/ConnectionFactoryF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/TransceiverF.h>
-#include <Ice/ObjectAdapterF.h>
-#include <Ice/EndpointF.h>
-#include <Ice/ThreadPoolF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/TraceLevelsF.h>
-#include <Ice/DefaultsAndOverridesF.h>
-#include <Ice/EventHandler.h>
-
-namespace Ice
-{
-
-class LocalException;
-
-}
-
-namespace IceInternal
-{
-
-class Outgoing;
-
-class Connection : public EventHandler, public ::IceUtil::RecMutex
-{
-public:
-
- bool destroyed() const;
- void hold();
- void activate();
- void incProxyUsageCount();
- void decProxyUsageCount();
- void prepareRequest(Outgoing*);
- void sendRequest(Outgoing*, bool, bool);
- void removeRequest(Outgoing*);
- void prepareBatchRequest(Outgoing*);
- void finishBatchRequest(Outgoing*);
- void abortBatchRequest();
- void flushBatchRequest(bool);
- int timeout() const;
- EndpointPtr endpoint() const;
- void setAdapter(const ::Ice::ObjectAdapterPtr&);
- ::Ice::ObjectAdapterPtr getAdapter() const;
-
- //
- // Operations from EventHandler
- //
- virtual bool readable() const;
- virtual void read(BasicStream&);
- virtual void message(BasicStream&, const ThreadPoolPtr&);
- virtual void finished(const ThreadPoolPtr&);
- virtual void exception(const ::Ice::LocalException&);
-
-private:
-
- Connection(const InstancePtr&, const TransceiverPtr&, const EndpointPtr&, const ::Ice::ObjectAdapterPtr&);
- virtual ~Connection();
- enum DestructionReason
- {
- ObjectAdapterDeactivated,
- CommunicatorDestroyed
- };
- void destroy(DestructionReason);
- friend class IncomingConnectionFactory;
- friend class OutgoingConnectionFactory;
-
- enum State
- {
- StateActive,
- StateHolding,
- StateClosing,
- StateClosed
- };
-
- void setState(State, const ::Ice::LocalException&);
- void setState(State);
- void closeConnection();
- void registerWithPool();
- void unregisterWithPool();
- void compress(BasicStream&, BasicStream&);
- void uncompress(BasicStream&, BasicStream&);
-
- TransceiverPtr _transceiver;
- EndpointPtr _endpoint;
- ::Ice::ObjectAdapterPtr _adapter;
- ::Ice::LoggerPtr _logger;
- TraceLevelsPtr _traceLevels;
- DefaultsAndOverridesPtr _defaultsAndOverrides;
- ThreadPoolPtr _clientThreadPool;
- ThreadPoolPtr _serverThreadPool;
- ::Ice::Int _nextRequestId;
- std::map< ::Ice::Int, Outgoing*> _requests;
- std::map< ::Ice::Int, Outgoing*>::iterator _requestsHint;
- std::auto_ptr< ::Ice::LocalException> _exception;
- BasicStream _batchStream;
- int _responseCount;
- int _proxyUsageCount;
- State _state;
- bool _warn;
- bool _registeredWithPool;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_CONNECTION_H +#define ICE_CONNECTION_H + +#include <IceUtil/RecMutex.h> + +#include <Ice/ConnectionF.h> +#include <Ice/ConnectionFactoryF.h> +#include <Ice/InstanceF.h> +#include <Ice/TransceiverF.h> +#include <Ice/ObjectAdapterF.h> +#include <Ice/EndpointF.h> +#include <Ice/ThreadPoolF.h> +#include <Ice/LoggerF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/DefaultsAndOverridesF.h> +#include <Ice/EventHandler.h> + +namespace Ice +{ + +class LocalException; + +} + +namespace IceInternal +{ + +class Outgoing; + +class Connection : public EventHandler, public ::IceUtil::RecMutex +{ +public: + + bool destroyed() const; + void hold(); + void activate(); + void incProxyUsageCount(); + void decProxyUsageCount(); + void prepareRequest(Outgoing*); + void sendRequest(Outgoing*, bool, bool); + void removeRequest(Outgoing*); + void prepareBatchRequest(Outgoing*); + void finishBatchRequest(Outgoing*); + void abortBatchRequest(); + void flushBatchRequest(bool); + int timeout() const; + EndpointPtr endpoint() const; + void setAdapter(const ::Ice::ObjectAdapterPtr&); + ::Ice::ObjectAdapterPtr getAdapter() const; + + // + // Operations from EventHandler + // + virtual bool readable() const; + virtual void read(BasicStream&); + virtual void message(BasicStream&, const ThreadPoolPtr&); + virtual void finished(const ThreadPoolPtr&); + virtual void exception(const ::Ice::LocalException&); + +private: + + Connection(const InstancePtr&, const TransceiverPtr&, const EndpointPtr&, const ::Ice::ObjectAdapterPtr&); + virtual ~Connection(); + enum DestructionReason + { + ObjectAdapterDeactivated, + CommunicatorDestroyed + }; + void destroy(DestructionReason); + friend class IncomingConnectionFactory; + friend class OutgoingConnectionFactory; + + enum State + { + StateActive, + StateHolding, + StateClosing, + StateClosed + }; + + void setState(State, const ::Ice::LocalException&); + void setState(State); + void closeConnection(); + void registerWithPool(); + void unregisterWithPool(); + void compress(BasicStream&, BasicStream&); + void uncompress(BasicStream&, BasicStream&); + + TransceiverPtr _transceiver; + EndpointPtr _endpoint; + ::Ice::ObjectAdapterPtr _adapter; + ::Ice::LoggerPtr _logger; + TraceLevelsPtr _traceLevels; + DefaultsAndOverridesPtr _defaultsAndOverrides; + ThreadPoolPtr _clientThreadPool; + ThreadPoolPtr _serverThreadPool; + ::Ice::Int _nextRequestId; + std::map< ::Ice::Int, Outgoing*> _requests; + std::map< ::Ice::Int, Outgoing*>::iterator _requestsHint; + std::auto_ptr< ::Ice::LocalException> _exception; + BasicStream _batchStream; + int _responseCount; + int _proxyUsageCount; + State _state; + bool _warn; + bool _registeredWithPool; +}; + +} + +#endif diff --git a/cpp/src/Ice/ConnectionFactory.h b/cpp/src/Ice/ConnectionFactory.h index b09862fdd61..15fadcf3ca8 100644 --- a/cpp/src/Ice/ConnectionFactory.h +++ b/cpp/src/Ice/ConnectionFactory.h @@ -1,108 +1,108 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_CONNECTION_FACTORY_H
-#define ICE_CONNECTION_FACTORY_H
-
-#include <IceUtil/RecMutex.h>
-#include <Ice/ConnectionFactoryF.h>
-#include <Ice/ConnectionF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/ObjectAdapterF.h>
-#include <Ice/EndpointF.h>
-#include <Ice/AcceptorF.h>
-#include <Ice/TransceiverF.h>
-#include <Ice/RouterF.h>
-#include <Ice/EventHandler.h>
-#include <list>
-
-namespace Ice
-{
-
-class LocalException;
-class ObjectAdapterI;
-
-}
-
-namespace IceInternal
-{
-
-class OutgoingConnectionFactory : public ::IceUtil::Shared, public ::IceUtil::Mutex
-{
-public:
-
- ConnectionPtr create(const std::vector<EndpointPtr>&);
- void setRouter(const ::Ice::RouterPrx&);
- void removeAdapter(const ::Ice::ObjectAdapterPtr&);
-
-private:
-
- OutgoingConnectionFactory(const InstancePtr&);
- virtual ~OutgoingConnectionFactory();
- void destroy();
- friend class Instance;
-
- InstancePtr _instance;
- std::map<EndpointPtr, ConnectionPtr> _connections;
-};
-
-class IncomingConnectionFactory : public EventHandler, public ::IceUtil::Monitor< ::IceUtil::Mutex>
-{
-public:
-
- void hold();
- void activate();
-
- EndpointPtr endpoint() const;
- bool equivalent(const EndpointPtr&) const;
- std::list<ConnectionPtr> connections() const;
-
- //
- // Operations from EventHandler
- //
- virtual bool readable() const;
- virtual void read(BasicStream&);
- virtual void message(BasicStream&, const ThreadPoolPtr&);
- virtual void finished(const ThreadPoolPtr&);
- virtual void exception(const ::Ice::LocalException&);
-
-private:
-
- IncomingConnectionFactory(const InstancePtr&, const EndpointPtr&, const ::Ice::ObjectAdapterPtr&);
- virtual ~IncomingConnectionFactory();
- void destroy();
- void waitUntilFinished();
- friend class ::Ice::ObjectAdapterI;
-
- enum State
- {
- StateActive,
- StateHolding,
- StateClosed
- };
-
- void setState(State);
- void registerWithPool();
- void unregisterWithPool();
-
- EndpointPtr _endpoint;
- ::Ice::ObjectAdapterPtr _adapter;
- AcceptorPtr _acceptor;
- TransceiverPtr _transceiver;
- ThreadPoolPtr _serverThreadPool;
- std::list<ConnectionPtr> _connections;
- State _state;
- bool _warn;
- bool _registeredWithPool;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_CONNECTION_FACTORY_H +#define ICE_CONNECTION_FACTORY_H + +#include <IceUtil/RecMutex.h> +#include <Ice/ConnectionFactoryF.h> +#include <Ice/ConnectionF.h> +#include <Ice/InstanceF.h> +#include <Ice/ObjectAdapterF.h> +#include <Ice/EndpointF.h> +#include <Ice/AcceptorF.h> +#include <Ice/TransceiverF.h> +#include <Ice/RouterF.h> +#include <Ice/EventHandler.h> +#include <list> + +namespace Ice +{ + +class LocalException; +class ObjectAdapterI; + +} + +namespace IceInternal +{ + +class OutgoingConnectionFactory : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + ConnectionPtr create(const std::vector<EndpointPtr>&); + void setRouter(const ::Ice::RouterPrx&); + void removeAdapter(const ::Ice::ObjectAdapterPtr&); + +private: + + OutgoingConnectionFactory(const InstancePtr&); + virtual ~OutgoingConnectionFactory(); + void destroy(); + friend class Instance; + + InstancePtr _instance; + std::map<EndpointPtr, ConnectionPtr> _connections; +}; + +class IncomingConnectionFactory : public EventHandler, public ::IceUtil::Monitor< ::IceUtil::Mutex> +{ +public: + + void hold(); + void activate(); + + EndpointPtr endpoint() const; + bool equivalent(const EndpointPtr&) const; + std::list<ConnectionPtr> connections() const; + + // + // Operations from EventHandler + // + virtual bool readable() const; + virtual void read(BasicStream&); + virtual void message(BasicStream&, const ThreadPoolPtr&); + virtual void finished(const ThreadPoolPtr&); + virtual void exception(const ::Ice::LocalException&); + +private: + + IncomingConnectionFactory(const InstancePtr&, const EndpointPtr&, const ::Ice::ObjectAdapterPtr&); + virtual ~IncomingConnectionFactory(); + void destroy(); + void waitUntilFinished(); + friend class ::Ice::ObjectAdapterI; + + enum State + { + StateActive, + StateHolding, + StateClosed + }; + + void setState(State); + void registerWithPool(); + void unregisterWithPool(); + + EndpointPtr _endpoint; + ::Ice::ObjectAdapterPtr _adapter; + AcceptorPtr _acceptor; + TransceiverPtr _transceiver; + ThreadPoolPtr _serverThreadPool; + std::list<ConnectionPtr> _connections; + State _state; + bool _warn; + bool _registeredWithPool; +}; + +} + +#endif diff --git a/cpp/src/Ice/Connector.h b/cpp/src/Ice/Connector.h index 93ac46c09ac..8a07584d761 100644 --- a/cpp/src/Ice/Connector.h +++ b/cpp/src/Ice/Connector.h @@ -1,31 +1,31 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_CONNECTOR_H
-#define ICE_CONNECTOR_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/ConnectorF.h>
-#include <Ice/TransceiverF.h>
-
-namespace IceInternal
-{
-
-class ICE_PROTOCOL_API Connector : public ::IceUtil::Shared
-{
-public:
-
- virtual TransceiverPtr connect(int) = 0;
- virtual std::string toString() const = 0;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_CONNECTOR_H +#define ICE_CONNECTOR_H + +#include <IceUtil/Shared.h> +#include <Ice/ConnectorF.h> +#include <Ice/TransceiverF.h> + +namespace IceInternal +{ + +class ICE_PROTOCOL_API Connector : public ::IceUtil::Shared +{ +public: + + virtual TransceiverPtr connect(int) = 0; + virtual std::string toString() const = 0; +}; + +} + +#endif diff --git a/cpp/src/Ice/ConnectorF.h b/cpp/src/Ice/ConnectorF.h index 5e682ec543d..532a2ad0339 100644 --- a/cpp/src/Ice/ConnectorF.h +++ b/cpp/src/Ice/ConnectorF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_CONNECTOR_F_H
-#define ICE_CONNECTOR_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class Connector;
-ICE_PROTOCOL_API void incRef(Connector*);
-ICE_PROTOCOL_API void decRef(Connector*);
-typedef Handle<Connector> ConnectorPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_CONNECTOR_F_H +#define ICE_CONNECTOR_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class Connector; +ICE_PROTOCOL_API void incRef(Connector*); +ICE_PROTOCOL_API void decRef(Connector*); +typedef Handle<Connector> ConnectorPtr; + +} + +#endif diff --git a/cpp/src/Ice/DefaultsAndOverrides.h b/cpp/src/Ice/DefaultsAndOverrides.h index 7f865083e24..38e39c8e2a0 100644 --- a/cpp/src/Ice/DefaultsAndOverrides.h +++ b/cpp/src/Ice/DefaultsAndOverrides.h @@ -1,39 +1,39 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_DEFAULTS_AND_OVERRIDES_H
-#define ICE_DEFAULTS_AND_OVERRIDES_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/DefaultsAndOverridesF.h>
-#include <Ice/PropertiesF.h>
-
-namespace IceInternal
-{
-
-class DefaultsAndOverrides : public ::IceUtil::Shared
-{
-public:
-
- DefaultsAndOverrides(const ::Ice::PropertiesPtr&);
-
- std::string defaultHost;
- std::string defaultProtocol;
- std::string defaultRouter;
-
- bool overrideTimeout;
- Ice::Int overrideTimeoutValue;
- bool overrideComppress;
- bool overrideComppressValue;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_DEFAULTS_AND_OVERRIDES_H +#define ICE_DEFAULTS_AND_OVERRIDES_H + +#include <IceUtil/Shared.h> +#include <Ice/DefaultsAndOverridesF.h> +#include <Ice/PropertiesF.h> + +namespace IceInternal +{ + +class DefaultsAndOverrides : public ::IceUtil::Shared +{ +public: + + DefaultsAndOverrides(const ::Ice::PropertiesPtr&); + + std::string defaultHost; + std::string defaultProtocol; + std::string defaultRouter; + + bool overrideTimeout; + Ice::Int overrideTimeoutValue; + bool overrideComppress; + bool overrideComppressValue; +}; + +} + +#endif diff --git a/cpp/src/Ice/DefaultsAndOverridesF.h b/cpp/src/Ice/DefaultsAndOverridesF.h index bd5029e83e7..0772a93ee72 100644 --- a/cpp/src/Ice/DefaultsAndOverridesF.h +++ b/cpp/src/Ice/DefaultsAndOverridesF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_DEFAULTS_AND_OVERRIDES_F_H
-#define ICE_DEFAULTS_AND_OVERRIDES_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class DefaultsAndOverrides;
-void incRef(DefaultsAndOverrides*);
-void decRef(DefaultsAndOverrides*);
-typedef Handle<DefaultsAndOverrides> DefaultsAndOverridesPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_DEFAULTS_AND_OVERRIDES_F_H +#define ICE_DEFAULTS_AND_OVERRIDES_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class DefaultsAndOverrides; +void incRef(DefaultsAndOverrides*); +void decRef(DefaultsAndOverrides*); +typedef Handle<DefaultsAndOverrides> DefaultsAndOverridesPtr; + +} + +#endif diff --git a/cpp/src/Ice/Endpoint.h b/cpp/src/Ice/Endpoint.h index d66ce19a54f..d667f956064 100644 --- a/cpp/src/Ice/Endpoint.h +++ b/cpp/src/Ice/Endpoint.h @@ -1,120 +1,120 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_ENDPOINT_H
-#define ICE_ENDPOINT_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/EndpointF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/TransceiverF.h>
-#include <Ice/ConnectorF.h>
-#include <Ice/AcceptorF.h>
-
-namespace IceInternal
-{
-
-class BasicStream;
-
-class ICE_PROTOCOL_API Endpoint : public ::IceUtil::Shared
-{
-public:
-
- //
- // Marshal the endpoint
- //
- virtual void streamWrite(BasicStream*) const = 0;
-
- //
- // Convert the endpoint to its string form
- //
- virtual std::string toString() const = 0;
-
- //
- // Return the endpoint type
- //
- virtual ::Ice::Short type() const = 0;
-
- //
- // Return the timeout for the endpoint in milliseconds. 0 means
- // non-blocking, -1 means no timeout.
- //
- virtual ::Ice::Int timeout() const = 0;
-
- //
- // Return a new endpoint with a different timeout value, provided
- // that timeouts are supported by the endpoint. Otherwise the same
- // endpoint is returned.
- //
- virtual EndpointPtr timeout(::Ice::Int) const = 0;
-
- //
- // Return true if the endpoint is datagram-based.
- //
- virtual bool datagram() const = 0;
-
- //
- // Return true if the endpoint is secure.
- //
- virtual bool secure() const = 0;
-
- //
- // Return true if the endpoint type is unknown.
- //
- virtual bool unknown() const = 0;
-
- //
- // Return a client side transceiver for this endpoint, or null if a
- // transceiver can only be created by a connector.
- //
- virtual TransceiverPtr clientTransceiver() const = 0;
-
- //
- // Return a server side transceiver for this endpoint, or null if a
- // transceiver can only be created by an acceptor. In case a
- // transceiver is created, this operation also returns a new
- // "effective" endpoint, which might differ from this endpoint,
- // for example, if a dynamic port number is assigned.
- //
- virtual TransceiverPtr serverTransceiver(EndpointPtr&) const = 0;
-
- //
- // Return a connector for this endpoint, or null if no connector
- // is available.
- //
- virtual ConnectorPtr connector() const = 0;
-
- //
- // Return an acceptor for this endpoint, or null if no acceptors
- // is available. In case an acceptor is created, this operation
- // also returns a new "effective" endpoint, which might differ
- // from this endpoint, for example, if a dynamic port number is
- // assigned.
- //
- virtual AcceptorPtr acceptor(EndpointPtr&) const = 0;
-
- //
- // Check whether the endpoint is equivalent to a specific
- // Transceiver or Acceptor
- //
- virtual bool equivalent(const TransceiverPtr&) const = 0;
- virtual bool equivalent(const AcceptorPtr&) const = 0;
-
- //
- // Compare endpoints for sorting purposes
- //
- virtual bool operator==(const Endpoint&) const = 0;
- virtual bool operator!=(const Endpoint&) const = 0;
- virtual bool operator<(const Endpoint&) const = 0;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_ENDPOINT_H +#define ICE_ENDPOINT_H + +#include <IceUtil/Shared.h> +#include <Ice/EndpointF.h> +#include <Ice/InstanceF.h> +#include <Ice/TransceiverF.h> +#include <Ice/ConnectorF.h> +#include <Ice/AcceptorF.h> + +namespace IceInternal +{ + +class BasicStream; + +class ICE_PROTOCOL_API Endpoint : public ::IceUtil::Shared +{ +public: + + // + // Marshal the endpoint + // + virtual void streamWrite(BasicStream*) const = 0; + + // + // Convert the endpoint to its string form + // + virtual std::string toString() const = 0; + + // + // Return the endpoint type + // + virtual ::Ice::Short type() const = 0; + + // + // Return the timeout for the endpoint in milliseconds. 0 means + // non-blocking, -1 means no timeout. + // + virtual ::Ice::Int timeout() const = 0; + + // + // Return a new endpoint with a different timeout value, provided + // that timeouts are supported by the endpoint. Otherwise the same + // endpoint is returned. + // + virtual EndpointPtr timeout(::Ice::Int) const = 0; + + // + // Return true if the endpoint is datagram-based. + // + virtual bool datagram() const = 0; + + // + // Return true if the endpoint is secure. + // + virtual bool secure() const = 0; + + // + // Return true if the endpoint type is unknown. + // + virtual bool unknown() const = 0; + + // + // Return a client side transceiver for this endpoint, or null if a + // transceiver can only be created by a connector. + // + virtual TransceiverPtr clientTransceiver() const = 0; + + // + // Return a server side transceiver for this endpoint, or null if a + // transceiver can only be created by an acceptor. In case a + // transceiver is created, this operation also returns a new + // "effective" endpoint, which might differ from this endpoint, + // for example, if a dynamic port number is assigned. + // + virtual TransceiverPtr serverTransceiver(EndpointPtr&) const = 0; + + // + // Return a connector for this endpoint, or null if no connector + // is available. + // + virtual ConnectorPtr connector() const = 0; + + // + // Return an acceptor for this endpoint, or null if no acceptors + // is available. In case an acceptor is created, this operation + // also returns a new "effective" endpoint, which might differ + // from this endpoint, for example, if a dynamic port number is + // assigned. + // + virtual AcceptorPtr acceptor(EndpointPtr&) const = 0; + + // + // Check whether the endpoint is equivalent to a specific + // Transceiver or Acceptor + // + virtual bool equivalent(const TransceiverPtr&) const = 0; + virtual bool equivalent(const AcceptorPtr&) const = 0; + + // + // Compare endpoints for sorting purposes + // + virtual bool operator==(const Endpoint&) const = 0; + virtual bool operator!=(const Endpoint&) const = 0; + virtual bool operator<(const Endpoint&) const = 0; +}; + +} + +#endif diff --git a/cpp/src/Ice/EndpointFactoryManager.h b/cpp/src/Ice/EndpointFactoryManager.h index 807982cd61c..34f953f199c 100644 --- a/cpp/src/Ice/EndpointFactoryManager.h +++ b/cpp/src/Ice/EndpointFactoryManager.h @@ -1,47 +1,47 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_ENDPOINT_FACTORY_MANAGER_H
-#define ICE_ENDPOINT_FACTORY_MANAGER_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <Ice/InstanceF.h>
-#include <Ice/EndpointF.h>
-#include <Ice/EndpointFactoryF.h>
-#include <Ice/EndpointFactoryManagerF.h>
-
-namespace IceInternal
-{
-
-class BasicStream;
-
-class EndpointFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex
-{
-public:
-
- void add(const EndpointFactoryPtr&);
- EndpointFactoryPtr get(::Ice::Short) const;
- EndpointPtr create(const std::string&) const;
- EndpointPtr read(BasicStream*) const;
-
-private:
-
- EndpointFactoryManager(const InstancePtr&);
- void destroy();
- friend class Instance;
-
- InstancePtr _instance;
- std::vector<EndpointFactoryPtr> _factories;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_ENDPOINT_FACTORY_MANAGER_H +#define ICE_ENDPOINT_FACTORY_MANAGER_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/InstanceF.h> +#include <Ice/EndpointF.h> +#include <Ice/EndpointFactoryF.h> +#include <Ice/EndpointFactoryManagerF.h> + +namespace IceInternal +{ + +class BasicStream; + +class EndpointFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + void add(const EndpointFactoryPtr&); + EndpointFactoryPtr get(::Ice::Short) const; + EndpointPtr create(const std::string&) const; + EndpointPtr read(BasicStream*) const; + +private: + + EndpointFactoryManager(const InstancePtr&); + void destroy(); + friend class Instance; + + InstancePtr _instance; + std::vector<EndpointFactoryPtr> _factories; +}; + +} + +#endif diff --git a/cpp/src/Ice/EndpointFactoryManagerF.h b/cpp/src/Ice/EndpointFactoryManagerF.h index afeea66cf24..2f5363e9eed 100644 --- a/cpp/src/Ice/EndpointFactoryManagerF.h +++ b/cpp/src/Ice/EndpointFactoryManagerF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_ENDPOINT_FACTORY_MANAGER_F_H
-#define ICE_ENDPOINT_FACTORY_MANAGER_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class EndpointFactoryManager;
-void incRef(EndpointFactoryManager*);
-void decRef(EndpointFactoryManager*);
-typedef Handle<EndpointFactoryManager> EndpointFactoryManagerPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_ENDPOINT_FACTORY_MANAGER_F_H +#define ICE_ENDPOINT_FACTORY_MANAGER_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class EndpointFactoryManager; +void incRef(EndpointFactoryManager*); +void decRef(EndpointFactoryManager*); +typedef Handle<EndpointFactoryManager> EndpointFactoryManagerPtr; + +} + +#endif diff --git a/cpp/src/Ice/EventHandler.h b/cpp/src/Ice/EventHandler.h index 02dbece7c9d..3205f077489 100644 --- a/cpp/src/Ice/EventHandler.h +++ b/cpp/src/Ice/EventHandler.h @@ -1,87 +1,87 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_EVENT_HANDLER_H
-#define ICE_EVENT_HANDLER_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/EventHandlerF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/ThreadPoolF.h>
-#include <Ice/BasicStream.h>
-
-namespace Ice
-{
-
-class LocalException;
-
-}
-
-namespace IceInternal
-{
-
-class EventHandler : public ::IceUtil::Shared
-{
-public:
-
- //
- // Return true if read() must be called before calling message().
- //
- virtual bool readable() const = 0;
-
- //
- // Read data via the event handler. May only be called if
- // readable() returns true.
- //
- virtual void read(BasicStream&) = 0;
-
- //
- // A complete message has been received.
- //
- virtual void message(BasicStream&, const ThreadPoolPtr&) = 0;
-
- //
- // Will be called if the event handler is finally
- // unregistered. (Calling unregister() does not unregister
- // immediately.)
- //
- virtual void finished(const ThreadPoolPtr&) = 0;
-
- //
- // Propagate an exception to the event handler.
- //
- virtual void exception(const ::Ice::LocalException&) = 0;
-
- //
- // Try to destroy the event handler. Returns false if the event
- // handler cannot be destroyed because it is in use, or true
- // otherwise.
- //
-// virtual bool tryDestroy(const ThreadPoolPtr&) = 0;
-
-protected:
-
- EventHandler(const InstancePtr&);
- virtual ~EventHandler();
-
- InstancePtr _instance;
-
-private:
-
- //
- // The _stream data member is for use by ThreadPool only
- //
- BasicStream _stream;
- friend class ThreadPool;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_EVENT_HANDLER_H +#define ICE_EVENT_HANDLER_H + +#include <IceUtil/Shared.h> +#include <Ice/EventHandlerF.h> +#include <Ice/InstanceF.h> +#include <Ice/ThreadPoolF.h> +#include <Ice/BasicStream.h> + +namespace Ice +{ + +class LocalException; + +} + +namespace IceInternal +{ + +class EventHandler : public ::IceUtil::Shared +{ +public: + + // + // Return true if read() must be called before calling message(). + // + virtual bool readable() const = 0; + + // + // Read data via the event handler. May only be called if + // readable() returns true. + // + virtual void read(BasicStream&) = 0; + + // + // A complete message has been received. + // + virtual void message(BasicStream&, const ThreadPoolPtr&) = 0; + + // + // Will be called if the event handler is finally + // unregistered. (Calling unregister() does not unregister + // immediately.) + // + virtual void finished(const ThreadPoolPtr&) = 0; + + // + // Propagate an exception to the event handler. + // + virtual void exception(const ::Ice::LocalException&) = 0; + + // + // Try to destroy the event handler. Returns false if the event + // handler cannot be destroyed because it is in use, or true + // otherwise. + // +// virtual bool tryDestroy(const ThreadPoolPtr&) = 0; + +protected: + + EventHandler(const InstancePtr&); + virtual ~EventHandler(); + + InstancePtr _instance; + +private: + + // + // The _stream data member is for use by ThreadPool only + // + BasicStream _stream; + friend class ThreadPool; +}; + +} + +#endif diff --git a/cpp/src/Ice/EventHandlerF.h b/cpp/src/Ice/EventHandlerF.h index 1bf5aa9aa8b..32a1379edfd 100644 --- a/cpp/src/Ice/EventHandlerF.h +++ b/cpp/src/Ice/EventHandlerF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_EVENT_HANDLER_F_H
-#define ICE_EVENT_HANDLER_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class EventHandler;
-void incRef(EventHandler*);
-void decRef(EventHandler*);
-typedef Handle<EventHandler> EventHandlerPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_EVENT_HANDLER_F_H +#define ICE_EVENT_HANDLER_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class EventHandler; +void incRef(EventHandler*); +void decRef(EventHandler*); +typedef Handle<EventHandler> EventHandlerPtr; + +} + +#endif diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h index f69a8e40f38..7cc4ec3ff0b 100644 --- a/cpp/src/Ice/Instance.h +++ b/cpp/src/Ice/Instance.h @@ -1,105 +1,105 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_INSTANCE_H
-#define ICE_INSTANCE_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <IceUtil/RecMutex.h>
-#include <Ice/InstanceF.h>
-#include <Ice/CommunicatorF.h>
-#include <Ice/PropertiesF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/TraceLevelsF.h>
-#include <Ice/DefaultsAndOverridesF.h>
-#include <Ice/RouterInfoF.h>
-#include <Ice/ReferenceFactoryF.h>
-#include <Ice/ProxyFactoryF.h>
-#include <Ice/ThreadPoolF.h>
-#include <Ice/ConnectionFactoryF.h>
-#include <Ice/ObjectFactoryManagerF.h>
-#include <Ice/UserExceptionFactoryManagerF.h>
-#include <Ice/ObjectAdapterFactoryF.h>
-#include <Ice/EndpointFactoryManagerF.h>
-#include <Ice/PluginF.h>
-#include <list>
-
-namespace Ice
-{
-
-class CommunicatorI;
-
-}
-
-namespace IceInternal
-{
-
-class Instance : public ::IceUtil::Shared, public ::IceUtil::RecMutex
-{
-public:
-
- ::Ice::CommunicatorPtr communicator();
- ::Ice::PropertiesPtr properties();
- ::Ice::LoggerPtr logger();
- void logger(const ::Ice::LoggerPtr&);
- TraceLevelsPtr traceLevels();
- DefaultsAndOverridesPtr defaultsAndOverrides();
- RouterManagerPtr routerManager();
- ReferenceFactoryPtr referenceFactory();
- ProxyFactoryPtr proxyFactory();
- OutgoingConnectionFactoryPtr outgoingConnectionFactory();
- ObjectFactoryManagerPtr servantFactoryManager();
- UserExceptionFactoryManagerPtr userExceptionFactoryManager();
- ObjectAdapterFactoryPtr objectAdapterFactory();
- ThreadPoolPtr clientThreadPool();
- ThreadPoolPtr serverThreadPool();
- EndpointFactoryManagerPtr endpointFactoryManager();
- ::Ice::PluginManagerPtr pluginManager();
-
-private:
-
- Instance(const ::Ice::CommunicatorPtr&, int&, char*[], const ::Ice::PropertiesPtr&);
- virtual ~Instance();
- void finishSetup(int&, char*[]);
- void destroy();
- friend class ::Ice::CommunicatorI;
-
- ::Ice::CommunicatorPtr _communicator;
- ::Ice::PropertiesPtr _properties; // Immutable, not reset by destroy().
- ::Ice::LoggerPtr _logger; // Not reset by destroy().
- TraceLevelsPtr _traceLevels; // Immutable, not reset by destroy().
- DefaultsAndOverridesPtr _defaultsAndOverrides; // Immutable, not reset by destroy().
- RouterManagerPtr _routerManager;
- ReferenceFactoryPtr _referenceFactory;
- ProxyFactoryPtr _proxyFactory;
- OutgoingConnectionFactoryPtr _outgoingConnectionFactory;
- ObjectFactoryManagerPtr _servantFactoryManager;
- UserExceptionFactoryManagerPtr _userExceptionFactoryManager;
- ObjectAdapterFactoryPtr _objectAdapterFactory;
- ThreadPoolPtr _clientThreadPool;
- ThreadPoolPtr _serverThreadPool;
- EndpointFactoryManagerPtr _endpointFactoryManager;
- ::Ice::PluginManagerPtr _pluginManager;
-
- //
- // Global state management
- //
- friend class GlobalStateMutexDestroyer;
- static int _globalStateCounter;
- static ::IceUtil::Mutex* _globalStateMutex;
-#ifndef _WIN32
- static std::string _identForOpenlog;
-#endif
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_INSTANCE_H +#define ICE_INSTANCE_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <IceUtil/RecMutex.h> +#include <Ice/InstanceF.h> +#include <Ice/CommunicatorF.h> +#include <Ice/PropertiesF.h> +#include <Ice/LoggerF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/DefaultsAndOverridesF.h> +#include <Ice/RouterInfoF.h> +#include <Ice/ReferenceFactoryF.h> +#include <Ice/ProxyFactoryF.h> +#include <Ice/ThreadPoolF.h> +#include <Ice/ConnectionFactoryF.h> +#include <Ice/ObjectFactoryManagerF.h> +#include <Ice/UserExceptionFactoryManagerF.h> +#include <Ice/ObjectAdapterFactoryF.h> +#include <Ice/EndpointFactoryManagerF.h> +#include <Ice/PluginF.h> +#include <list> + +namespace Ice +{ + +class CommunicatorI; + +} + +namespace IceInternal +{ + +class Instance : public ::IceUtil::Shared, public ::IceUtil::RecMutex +{ +public: + + ::Ice::CommunicatorPtr communicator(); + ::Ice::PropertiesPtr properties(); + ::Ice::LoggerPtr logger(); + void logger(const ::Ice::LoggerPtr&); + TraceLevelsPtr traceLevels(); + DefaultsAndOverridesPtr defaultsAndOverrides(); + RouterManagerPtr routerManager(); + ReferenceFactoryPtr referenceFactory(); + ProxyFactoryPtr proxyFactory(); + OutgoingConnectionFactoryPtr outgoingConnectionFactory(); + ObjectFactoryManagerPtr servantFactoryManager(); + UserExceptionFactoryManagerPtr userExceptionFactoryManager(); + ObjectAdapterFactoryPtr objectAdapterFactory(); + ThreadPoolPtr clientThreadPool(); + ThreadPoolPtr serverThreadPool(); + EndpointFactoryManagerPtr endpointFactoryManager(); + ::Ice::PluginManagerPtr pluginManager(); + +private: + + Instance(const ::Ice::CommunicatorPtr&, int&, char*[], const ::Ice::PropertiesPtr&); + virtual ~Instance(); + void finishSetup(int&, char*[]); + void destroy(); + friend class ::Ice::CommunicatorI; + + ::Ice::CommunicatorPtr _communicator; + ::Ice::PropertiesPtr _properties; // Immutable, not reset by destroy(). + ::Ice::LoggerPtr _logger; // Not reset by destroy(). + TraceLevelsPtr _traceLevels; // Immutable, not reset by destroy(). + DefaultsAndOverridesPtr _defaultsAndOverrides; // Immutable, not reset by destroy(). + RouterManagerPtr _routerManager; + ReferenceFactoryPtr _referenceFactory; + ProxyFactoryPtr _proxyFactory; + OutgoingConnectionFactoryPtr _outgoingConnectionFactory; + ObjectFactoryManagerPtr _servantFactoryManager; + UserExceptionFactoryManagerPtr _userExceptionFactoryManager; + ObjectAdapterFactoryPtr _objectAdapterFactory; + ThreadPoolPtr _clientThreadPool; + ThreadPoolPtr _serverThreadPool; + EndpointFactoryManagerPtr _endpointFactoryManager; + ::Ice::PluginManagerPtr _pluginManager; + + // + // Global state management + // + friend class GlobalStateMutexDestroyer; + static int _globalStateCounter; + static ::IceUtil::Mutex* _globalStateMutex; +#ifndef _WIN32 + static std::string _identForOpenlog; +#endif +}; + +} + +#endif diff --git a/cpp/src/Ice/LoggerI.h b/cpp/src/Ice/LoggerI.h index 25ac67eebe1..d7866b8e462 100644 --- a/cpp/src/Ice/LoggerI.h +++ b/cpp/src/Ice/LoggerI.h @@ -1,31 +1,31 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_LOGGER_I_H
-#define ICE_LOGGER_I_H
-
-#include <IceUtil/Mutex.h>
-#include <Ice/Logger.h>
-
-namespace Ice
-{
-
-class LoggerI : public Logger, public ::IceUtil::Mutex
-{
-public:
-
- virtual void trace(const std::string&, const std::string&);
- virtual void warning(const std::string&);
- virtual void error(const std::string&);
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_LOGGER_I_H +#define ICE_LOGGER_I_H + +#include <IceUtil/Mutex.h> +#include <Ice/Logger.h> + +namespace Ice +{ + +class LoggerI : public Logger, public ::IceUtil::Mutex +{ +public: + + virtual void trace(const std::string&, const std::string&); + virtual void warning(const std::string&); + virtual void error(const std::string&); +}; + +} + +#endif diff --git a/cpp/src/Ice/Network.h b/cpp/src/Ice/Network.h index ac57f0b15ae..4196c109080 100644 --- a/cpp/src/Ice/Network.h +++ b/cpp/src/Ice/Network.h @@ -1,100 +1,100 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_NETWORK_H
-#define ICE_NETWORK_H
-
-#include <Ice/Config.h>
-
-#ifdef _WIN32
-# include <winsock.h>
-#else
-# include <unistd.h>
-# include <fcntl.h>
-# include <sys/socket.h>
-# include <sys/select.h>
-# include <netinet/in.h>
-# include <netinet/tcp.h>
-# include <arpa/inet.h>
-# include <netdb.h>
-#endif
-
-#ifdef _WIN32
-typedef int socklen_t;
-#endif
-
-#ifndef _WIN32
-# define SOCKET int
-# define SOCKET_ERROR -1
-# define INVALID_SOCKET -1
-#endif
-
-#ifndef SHUT_RD
-# define SHUT_RD 0
-#endif
-
-#ifndef SHUT_WR
-# define SHUT_WR 1
-#endif
-
-#ifndef SHUT_RDWR
-# define SHUT_RDWR 2
-#endif
-
-#ifndef NETDB_INTERNAL
-# define NETDB_INTERNAL -1
-#endif
-
-#ifndef NETDB_SUCCESS
-# define NETDB_SUCCESS 0
-#endif
-
-namespace IceInternal
-{
-
-ICE_PROTOCOL_API bool interrupted();
-ICE_PROTOCOL_API bool acceptInterrupted();
-ICE_PROTOCOL_API bool noBuffers();
-ICE_PROTOCOL_API bool wouldBlock();
-ICE_PROTOCOL_API bool connectFailed();
-ICE_PROTOCOL_API bool connectInProgress();
-ICE_PROTOCOL_API bool connectionLost();
-ICE_PROTOCOL_API bool notConnected();
-
-ICE_PROTOCOL_API SOCKET createSocket(bool);
-ICE_PROTOCOL_API void closeSocket(SOCKET);
-
-ICE_PROTOCOL_API void setBlock(SOCKET, bool);
-ICE_PROTOCOL_API void setTcpNoDelay(SOCKET);
-ICE_PROTOCOL_API void setKeepAlive(SOCKET);
-ICE_PROTOCOL_API void setSendBufferSize(SOCKET, int);
-
-ICE_PROTOCOL_API void doBind(SOCKET, struct sockaddr_in&);
-ICE_PROTOCOL_API void doListen(SOCKET, int);
-ICE_PROTOCOL_API void doConnect(SOCKET, struct sockaddr_in&, int);
-ICE_PROTOCOL_API SOCKET doAccept(SOCKET, int);
-
-ICE_PROTOCOL_API void getAddress(const std::string&, int, struct sockaddr_in&);
-ICE_PROTOCOL_API std::string getLocalHost(bool);
-ICE_PROTOCOL_API bool compareAddress(const struct sockaddr_in&, const struct sockaddr_in&);
-
-ICE_PROTOCOL_API void createPipe(SOCKET fds[2]);
-
-ICE_PROTOCOL_API std::string errorToString(int);
-ICE_PROTOCOL_API std::string errorToStringDNS(int);
-ICE_PROTOCOL_API std::string lastErrorToString();
-ICE_PROTOCOL_API std::string lastErrorToStringDNS();
-
-ICE_PROTOCOL_API std::string fdToString(SOCKET);
-ICE_PROTOCOL_API std::string addrToString(const struct sockaddr_in&);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_NETWORK_H +#define ICE_NETWORK_H + +#include <Ice/Config.h> + +#ifdef _WIN32 +# include <winsock.h> +#else +# include <unistd.h> +# include <fcntl.h> +# include <sys/socket.h> +# include <sys/select.h> +# include <netinet/in.h> +# include <netinet/tcp.h> +# include <arpa/inet.h> +# include <netdb.h> +#endif + +#ifdef _WIN32 +typedef int socklen_t; +#endif + +#ifndef _WIN32 +# define SOCKET int +# define SOCKET_ERROR -1 +# define INVALID_SOCKET -1 +#endif + +#ifndef SHUT_RD +# define SHUT_RD 0 +#endif + +#ifndef SHUT_WR +# define SHUT_WR 1 +#endif + +#ifndef SHUT_RDWR +# define SHUT_RDWR 2 +#endif + +#ifndef NETDB_INTERNAL +# define NETDB_INTERNAL -1 +#endif + +#ifndef NETDB_SUCCESS +# define NETDB_SUCCESS 0 +#endif + +namespace IceInternal +{ + +ICE_PROTOCOL_API bool interrupted(); +ICE_PROTOCOL_API bool acceptInterrupted(); +ICE_PROTOCOL_API bool noBuffers(); +ICE_PROTOCOL_API bool wouldBlock(); +ICE_PROTOCOL_API bool connectFailed(); +ICE_PROTOCOL_API bool connectInProgress(); +ICE_PROTOCOL_API bool connectionLost(); +ICE_PROTOCOL_API bool notConnected(); + +ICE_PROTOCOL_API SOCKET createSocket(bool); +ICE_PROTOCOL_API void closeSocket(SOCKET); + +ICE_PROTOCOL_API void setBlock(SOCKET, bool); +ICE_PROTOCOL_API void setTcpNoDelay(SOCKET); +ICE_PROTOCOL_API void setKeepAlive(SOCKET); +ICE_PROTOCOL_API void setSendBufferSize(SOCKET, int); + +ICE_PROTOCOL_API void doBind(SOCKET, struct sockaddr_in&); +ICE_PROTOCOL_API void doListen(SOCKET, int); +ICE_PROTOCOL_API void doConnect(SOCKET, struct sockaddr_in&, int); +ICE_PROTOCOL_API SOCKET doAccept(SOCKET, int); + +ICE_PROTOCOL_API void getAddress(const std::string&, int, struct sockaddr_in&); +ICE_PROTOCOL_API std::string getLocalHost(bool); +ICE_PROTOCOL_API bool compareAddress(const struct sockaddr_in&, const struct sockaddr_in&); + +ICE_PROTOCOL_API void createPipe(SOCKET fds[2]); + +ICE_PROTOCOL_API std::string errorToString(int); +ICE_PROTOCOL_API std::string errorToStringDNS(int); +ICE_PROTOCOL_API std::string lastErrorToString(); +ICE_PROTOCOL_API std::string lastErrorToStringDNS(); + +ICE_PROTOCOL_API std::string fdToString(SOCKET); +ICE_PROTOCOL_API std::string addrToString(const struct sockaddr_in&); + +} + +#endif diff --git a/cpp/src/Ice/ObjectAdapterFactory.h b/cpp/src/Ice/ObjectAdapterFactory.h index 0eeb03c956f..b9a10c46aa2 100644 --- a/cpp/src/Ice/ObjectAdapterFactory.h +++ b/cpp/src/Ice/ObjectAdapterFactory.h @@ -1,39 +1,39 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_OBJECT_ADAPTER_FACTORY_H
-#define ICE_OBJECT_ADAPTER_FACTORY_H
-
-#include <Ice/ObjectAdapterI.h>
-#include <IceUtil/RecMutex.h>
-
-namespace IceInternal
-{
-
-class ObjectAdapterFactory : public ::IceUtil::Shared, public ::IceUtil::RecMutex
-{
-public:
-
- void shutdown();
- ::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const std::string&);
- ::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::ObjectPrx&);
-
-private:
-
- ObjectAdapterFactory(const InstancePtr&);
- friend class Instance;
-
- InstancePtr _instance;
- std::map<std::string, ::Ice::ObjectAdapterIPtr> _adapters;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_OBJECT_ADAPTER_FACTORY_H +#define ICE_OBJECT_ADAPTER_FACTORY_H + +#include <Ice/ObjectAdapterI.h> +#include <IceUtil/RecMutex.h> + +namespace IceInternal +{ + +class ObjectAdapterFactory : public ::IceUtil::Shared, public ::IceUtil::RecMutex +{ +public: + + void shutdown(); + ::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const std::string&); + ::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::ObjectPrx&); + +private: + + ObjectAdapterFactory(const InstancePtr&); + friend class Instance; + + InstancePtr _instance; + std::map<std::string, ::Ice::ObjectAdapterIPtr> _adapters; +}; + +} + +#endif diff --git a/cpp/src/Ice/ObjectAdapterI.h b/cpp/src/Ice/ObjectAdapterI.h index b31e15626f4..e9378be1c67 100644 --- a/cpp/src/Ice/ObjectAdapterI.h +++ b/cpp/src/Ice/ObjectAdapterI.h @@ -1,86 +1,86 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_OBJECT_ADAPTER_I_H
-#define ICE_OBJECT_ADAPTER_I_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <Ice/ObjectAdapter.h>
-#include <Ice/InstanceF.h>
-#include <Ice/ObjectAdapterFactoryF.h>
-#include <Ice/CommunicatorF.h>
-#include <Ice/ConnectionFactoryF.h>
-#include <Ice/ProxyF.h>
-#include <Ice/ObjectF.h>
-#include <Ice/Exception.h>
-#include <Ice/EndpointF.h>
-#include <list>
-
-namespace Ice
-{
-
-class ObjectAdapterI;
-typedef IceUtil::Handle<ObjectAdapterI> ObjectAdapterIPtr;
-
-class ObjectAdapterI : public ObjectAdapter, public ::IceUtil::Mutex
-{
-public:
-
- virtual std::string getName();
- virtual CommunicatorPtr getCommunicator();
-
- virtual void activate();
- virtual void hold();
- virtual void deactivate();
- virtual void waitForDeactivate();
-
- virtual ObjectPrx add(const ObjectPtr&, const Identity&);
- virtual ObjectPrx addWithUUID(const ObjectPtr&);
- virtual void remove(const Identity&);
-
- virtual void addServantLocator(const ServantLocatorPtr&, const std::string&);
- virtual void removeServantLocator(const std::string&);
- virtual ServantLocatorPtr findServantLocator(const std::string&);
-
- virtual ObjectPtr identityToServant(const Identity&);
- virtual ObjectPtr proxyToServant(const ObjectPrx&);
-
- virtual ObjectPrx createProxy(const Identity&);
- virtual ObjectPrx createReverseProxy(const Identity&);
-
- virtual void addRouter(const RouterPrx&);
-
- std::list< ::IceInternal::ConnectionPtr> getIncomingConnections() const;
-
-private:
-
- ObjectAdapterI(const ::IceInternal::InstancePtr&, const std::string&, const std::string&);
- virtual ~ObjectAdapterI();
- friend class ::IceInternal::ObjectAdapterFactory;
-
- ObjectPrx newProxy(const Identity&) const;
- bool isLocal(const ObjectPrx&) const;
-
- ::IceInternal::InstancePtr _instance;
- bool _printAdapterReadyDone;
- std::string _name;
- ObjectDict _activeServantMap;
- ObjectDict::iterator _activeServantMapHint;
- std::map<std::string, ServantLocatorPtr> _locatorMap;
- std::map<std::string, ServantLocatorPtr>::iterator _locatorMapHint;
- std::vector< ::IceInternal::IncomingConnectionFactoryPtr> _incomingConnectionFactories;
- std::vector< ::IceInternal::EndpointPtr> _routerEndpoints;
- IceUtil::Mutex _routerEndpointsMutex;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_OBJECT_ADAPTER_I_H +#define ICE_OBJECT_ADAPTER_I_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/ObjectAdapter.h> +#include <Ice/InstanceF.h> +#include <Ice/ObjectAdapterFactoryF.h> +#include <Ice/CommunicatorF.h> +#include <Ice/ConnectionFactoryF.h> +#include <Ice/ProxyF.h> +#include <Ice/ObjectF.h> +#include <Ice/Exception.h> +#include <Ice/EndpointF.h> +#include <list> + +namespace Ice +{ + +class ObjectAdapterI; +typedef IceUtil::Handle<ObjectAdapterI> ObjectAdapterIPtr; + +class ObjectAdapterI : public ObjectAdapter, public ::IceUtil::Mutex +{ +public: + + virtual std::string getName(); + virtual CommunicatorPtr getCommunicator(); + + virtual void activate(); + virtual void hold(); + virtual void deactivate(); + virtual void waitForDeactivate(); + + virtual ObjectPrx add(const ObjectPtr&, const Identity&); + virtual ObjectPrx addWithUUID(const ObjectPtr&); + virtual void remove(const Identity&); + + virtual void addServantLocator(const ServantLocatorPtr&, const std::string&); + virtual void removeServantLocator(const std::string&); + virtual ServantLocatorPtr findServantLocator(const std::string&); + + virtual ObjectPtr identityToServant(const Identity&); + virtual ObjectPtr proxyToServant(const ObjectPrx&); + + virtual ObjectPrx createProxy(const Identity&); + virtual ObjectPrx createReverseProxy(const Identity&); + + virtual void addRouter(const RouterPrx&); + + std::list< ::IceInternal::ConnectionPtr> getIncomingConnections() const; + +private: + + ObjectAdapterI(const ::IceInternal::InstancePtr&, const std::string&, const std::string&); + virtual ~ObjectAdapterI(); + friend class ::IceInternal::ObjectAdapterFactory; + + ObjectPrx newProxy(const Identity&) const; + bool isLocal(const ObjectPrx&) const; + + ::IceInternal::InstancePtr _instance; + bool _printAdapterReadyDone; + std::string _name; + ObjectDict _activeServantMap; + ObjectDict::iterator _activeServantMapHint; + std::map<std::string, ServantLocatorPtr> _locatorMap; + std::map<std::string, ServantLocatorPtr>::iterator _locatorMapHint; + std::vector< ::IceInternal::IncomingConnectionFactoryPtr> _incomingConnectionFactories; + std::vector< ::IceInternal::EndpointPtr> _routerEndpoints; + IceUtil::Mutex _routerEndpointsMutex; +}; + +} + +#endif diff --git a/cpp/src/Ice/ObjectFactoryManager.h b/cpp/src/Ice/ObjectFactoryManager.h index df0415714a3..c10cd4fe09c 100644 --- a/cpp/src/Ice/ObjectFactoryManager.h +++ b/cpp/src/Ice/ObjectFactoryManager.h @@ -1,42 +1,42 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SERVANT_FACTORY_MANAGER_H
-#define ICE_SERVANT_FACTORY_MANAGER_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <Ice/ObjectFactoryManagerF.h>
-#include <Ice/ObjectFactoryF.h>
-
-namespace IceInternal
-{
-
-class ObjectFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex
-{
-public:
-
- void add(const ::Ice::ObjectFactoryPtr&, const std::string&);
- void remove(const std::string&);
- ::Ice::ObjectFactoryPtr find(const std::string&);
-
-private:
-
- ObjectFactoryManager();
- void destroy();
- friend class Instance;
-
- std::map<std::string, ::Ice::ObjectFactoryPtr> _factoryMap;
- std::map<std::string, ::Ice::ObjectFactoryPtr>::iterator _factoryMapHint;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SERVANT_FACTORY_MANAGER_H +#define ICE_SERVANT_FACTORY_MANAGER_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/ObjectFactoryManagerF.h> +#include <Ice/ObjectFactoryF.h> + +namespace IceInternal +{ + +class ObjectFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + void add(const ::Ice::ObjectFactoryPtr&, const std::string&); + void remove(const std::string&); + ::Ice::ObjectFactoryPtr find(const std::string&); + +private: + + ObjectFactoryManager(); + void destroy(); + friend class Instance; + + std::map<std::string, ::Ice::ObjectFactoryPtr> _factoryMap; + std::map<std::string, ::Ice::ObjectFactoryPtr>::iterator _factoryMapHint; +}; + +} + +#endif diff --git a/cpp/src/Ice/ObjectFactoryManagerF.h b/cpp/src/Ice/ObjectFactoryManagerF.h index 7f61f76cc2f..c9d1bd79004 100644 --- a/cpp/src/Ice/ObjectFactoryManagerF.h +++ b/cpp/src/Ice/ObjectFactoryManagerF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SERVANT_FACTORY_MANAGER_F_H
-#define ICE_SERVANT_FACTORY_MANAGER_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class ObjectFactoryManager;
-void incRef(ObjectFactoryManager*);
-void decRef(ObjectFactoryManager*);
-typedef Handle<ObjectFactoryManager> ObjectFactoryManagerPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SERVANT_FACTORY_MANAGER_F_H +#define ICE_SERVANT_FACTORY_MANAGER_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class ObjectFactoryManager; +void incRef(ObjectFactoryManager*); +void decRef(ObjectFactoryManager*); +typedef Handle<ObjectFactoryManager> ObjectFactoryManagerPtr; + +} + +#endif diff --git a/cpp/src/Ice/PicklerI.h b/cpp/src/Ice/PicklerI.h index 41d694dceb3..cbe7358bae4 100644 --- a/cpp/src/Ice/PicklerI.h +++ b/cpp/src/Ice/PicklerI.h @@ -1,39 +1,39 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PICKLER_I_H
-#define ICE_PICKLER_I_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/Pickler.h>
-#include <Ice/InstanceF.h>
-
-namespace Ice
-{
-
-class ICE_API PicklerI : public Pickler
-{
-public:
-
- void pickle(const ObjectPtr&, std::ostream&);
- ObjectPtr unpickle(const std::string&, std::istream&);
-
-private:
-
- PicklerI(const ::IceInternal::InstancePtr&);
- friend ::IceInternal::Instance;
-
- ::IceInternal::InstancePtr _instance;
-};
-
-}
-
-#endif
-
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PICKLER_I_H +#define ICE_PICKLER_I_H + +#include <IceUtil/Shared.h> +#include <Ice/Pickler.h> +#include <Ice/InstanceF.h> + +namespace Ice +{ + +class ICE_API PicklerI : public Pickler +{ +public: + + void pickle(const ObjectPtr&, std::ostream&); + ObjectPtr unpickle(const std::string&, std::istream&); + +private: + + PicklerI(const ::IceInternal::InstancePtr&); + friend ::IceInternal::Instance; + + ::IceInternal::InstancePtr _instance; +}; + +} + +#endif + diff --git a/cpp/src/Ice/PluginManagerI.h b/cpp/src/Ice/PluginManagerI.h index e668b6afc4d..60663ffdc38 100644 --- a/cpp/src/Ice/PluginManagerI.h +++ b/cpp/src/Ice/PluginManagerI.h @@ -1,55 +1,55 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PLUGIN_MANAGER_I_H
-#define ICE_PLUGIN_MANAGER_I_H
-
-#include <Ice/Plugin.h>
-#include <Ice/InstanceF.h>
-#include <Ice/CommunicatorF.h>
-#include <Ice/DynamicLibraryF.h>
-#include <Ice/BuiltinSequences.h>
-#include <IceUtil/Mutex.h>
-#include <map>
-
-namespace Ice
-{
-
-class PluginManagerI : public PluginManager, public IceUtil::Mutex
-{
-public:
-
- virtual PluginPtr getPlugin(const std::string&);
-
- virtual void addPlugin(const std::string&, const PluginPtr&);
-
- virtual void destroy();
-
- struct PluginInfo
- {
- PluginPtr plugin;
- IceInternal::DynamicLibraryPtr library;
- };
-
-private:
-
- PluginManagerI(const IceInternal::InstancePtr&);
- void loadPlugins(int&, char*[]);
- friend class IceInternal::Instance;
-
- void loadPlugin(const std::string&, const std::string&, const StringSeq&);
-
- IceInternal::InstancePtr _instance;
- std::map<std::string, PluginInfo> _plugins;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PLUGIN_MANAGER_I_H +#define ICE_PLUGIN_MANAGER_I_H + +#include <Ice/Plugin.h> +#include <Ice/InstanceF.h> +#include <Ice/CommunicatorF.h> +#include <Ice/DynamicLibraryF.h> +#include <Ice/BuiltinSequences.h> +#include <IceUtil/Mutex.h> +#include <map> + +namespace Ice +{ + +class PluginManagerI : public PluginManager, public IceUtil::Mutex +{ +public: + + virtual PluginPtr getPlugin(const std::string&); + + virtual void addPlugin(const std::string&, const PluginPtr&); + + virtual void destroy(); + + struct PluginInfo + { + PluginPtr plugin; + IceInternal::DynamicLibraryPtr library; + }; + +private: + + PluginManagerI(const IceInternal::InstancePtr&); + void loadPlugins(int&, char*[]); + friend class IceInternal::Instance; + + void loadPlugin(const std::string&, const std::string&, const StringSeq&); + + IceInternal::InstancePtr _instance; + std::map<std::string, PluginInfo> _plugins; +}; + +} + +#endif diff --git a/cpp/src/Ice/PropertiesI.h b/cpp/src/Ice/PropertiesI.h index 954e3d37d75..da843b70611 100644 --- a/cpp/src/Ice/PropertiesI.h +++ b/cpp/src/Ice/PropertiesI.h @@ -1,54 +1,54 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PROPERTIES_I_H
-#define ICE_PROPERTIES_I_H
-
-#include <IceUtil/Mutex.h>
-#include <Ice/Properties.h>
-#include <set>
-
-namespace Ice
-{
-
-class ICE_API PropertiesI : public Properties, public IceUtil::Mutex
-{
-public:
-
- virtual std::string getProperty(const std::string&);
- virtual std::string getPropertyWithDefault(const std::string&, const std::string&);
- virtual Ice::Int getPropertyAsInt(const std::string&);
- virtual Ice::Int getPropertyAsIntWithDefault(const std::string&, Ice::Int);
- virtual PropertyDict getPropertiesForPrefix(const std::string&);
- virtual void setProperty(const std::string&, const std::string&);
- virtual StringSeq getCommandLineOptions();
- virtual StringSeq parseCommandLineOptions(const std::string&, const StringSeq&);
- virtual void load(const std::string&);
- virtual PropertiesPtr clone();
-
-private:
-
- PropertiesI();
- PropertiesI(StringSeq&);
- PropertiesI(int&, char*[]);
- friend ICE_API PropertiesPtr createProperties();
- friend ICE_API PropertiesPtr createProperties(StringSeq&);
- friend ICE_API PropertiesPtr createProperties(int&, char*[]);
-
- void parseLine(const std::string&);
-
- void loadConfig();
-
- std::map<std::string, std::string> _properties;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PROPERTIES_I_H +#define ICE_PROPERTIES_I_H + +#include <IceUtil/Mutex.h> +#include <Ice/Properties.h> +#include <set> + +namespace Ice +{ + +class ICE_API PropertiesI : public Properties, public IceUtil::Mutex +{ +public: + + virtual std::string getProperty(const std::string&); + virtual std::string getPropertyWithDefault(const std::string&, const std::string&); + virtual Ice::Int getPropertyAsInt(const std::string&); + virtual Ice::Int getPropertyAsIntWithDefault(const std::string&, Ice::Int); + virtual PropertyDict getPropertiesForPrefix(const std::string&); + virtual void setProperty(const std::string&, const std::string&); + virtual StringSeq getCommandLineOptions(); + virtual StringSeq parseCommandLineOptions(const std::string&, const StringSeq&); + virtual void load(const std::string&); + virtual PropertiesPtr clone(); + +private: + + PropertiesI(); + PropertiesI(StringSeq&); + PropertiesI(int&, char*[]); + friend ICE_API PropertiesPtr createProperties(); + friend ICE_API PropertiesPtr createProperties(StringSeq&); + friend ICE_API PropertiesPtr createProperties(int&, char*[]); + + void parseLine(const std::string&); + + void loadConfig(); + + std::map<std::string, std::string> _properties; +}; + +} + +#endif diff --git a/cpp/src/Ice/Protocol.h b/cpp/src/Ice/Protocol.h index e9bbdf3d185..4d9c879b3b6 100644 --- a/cpp/src/Ice/Protocol.h +++ b/cpp/src/Ice/Protocol.h @@ -1,48 +1,48 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PROTOCOL_H
-#define ICE_PROTOCOL_H
-
-#include <Ice/Config.h>
-
-namespace IceInternal
-{
-
-//
-// Size of the Ice protocol header
-//
-// Protocol version (Byte)
-// Encoding version (Byte)
-// Message type (Byte)
-// Message size (Int)
-//
-const ::Ice::Int headerSize = 7;
-
-//
-// The current Ice protocol and encoding version
-//
-const ::Ice::Byte protocolVersion = 0;
-const ::Ice::Byte encodingVersion = 0;
-
-//
-// The Ice protocol message types
-//
-const ::Ice::Byte requestMsg = 0;
-const ::Ice::Byte requestBatchMsg = 1;
-const ::Ice::Byte replyMsg = 2;
-const ::Ice::Byte closeConnectionMsg = 3;
-const ::Ice::Byte compressedRequestMsg = 4;
-const ::Ice::Byte compressedRequestBatchMsg = 5;
-const ::Ice::Byte compressedReplyMsg = 6;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PROTOCOL_H +#define ICE_PROTOCOL_H + +#include <Ice/Config.h> + +namespace IceInternal +{ + +// +// Size of the Ice protocol header +// +// Protocol version (Byte) +// Encoding version (Byte) +// Message type (Byte) +// Message size (Int) +// +const ::Ice::Int headerSize = 7; + +// +// The current Ice protocol and encoding version +// +const ::Ice::Byte protocolVersion = 0; +const ::Ice::Byte encodingVersion = 0; + +// +// The Ice protocol message types +// +const ::Ice::Byte requestMsg = 0; +const ::Ice::Byte requestBatchMsg = 1; +const ::Ice::Byte replyMsg = 2; +const ::Ice::Byte closeConnectionMsg = 3; +const ::Ice::Byte compressedRequestMsg = 4; +const ::Ice::Byte compressedRequestBatchMsg = 5; +const ::Ice::Byte compressedReplyMsg = 6; + +} + +#endif diff --git a/cpp/src/Ice/ProxyFactory.h b/cpp/src/Ice/ProxyFactory.h index 0eb5eaef0fe..1154d5e767a 100644 --- a/cpp/src/Ice/ProxyFactory.h +++ b/cpp/src/Ice/ProxyFactory.h @@ -1,49 +1,49 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PROXY_FACTORY_H
-#define ICE_PROXY_FACTORY_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <Ice/ProxyFactoryF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/ReferenceF.h>
-#include <Ice/ProxyF.h>
-
-namespace IceInternal
-{
-
-class BasicStream;
-
-class ProxyFactory : public ::IceUtil::Shared
-{
-public:
-
- ::Ice::ObjectPrx stringToProxy(const std::string&) const;
- std::string proxyToString(const ::Ice::ObjectPrx&) const;
-
- ::Ice::ObjectPrx streamToProxy(BasicStream*) const;
- void proxyToStream(const ::Ice::ObjectPrx&, BasicStream*) const;
-
- ::Ice::ObjectPrx referenceToProxy(const ReferencePtr&) const;
-
-private:
-
- ProxyFactory(const InstancePtr&);
- virtual ~ProxyFactory();
- friend class Instance;
-
- InstancePtr _instance;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PROXY_FACTORY_H +#define ICE_PROXY_FACTORY_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/ProxyFactoryF.h> +#include <Ice/InstanceF.h> +#include <Ice/ReferenceF.h> +#include <Ice/ProxyF.h> + +namespace IceInternal +{ + +class BasicStream; + +class ProxyFactory : public ::IceUtil::Shared +{ +public: + + ::Ice::ObjectPrx stringToProxy(const std::string&) const; + std::string proxyToString(const ::Ice::ObjectPrx&) const; + + ::Ice::ObjectPrx streamToProxy(BasicStream*) const; + void proxyToStream(const ::Ice::ObjectPrx&, BasicStream*) const; + + ::Ice::ObjectPrx referenceToProxy(const ReferencePtr&) const; + +private: + + ProxyFactory(const InstancePtr&); + virtual ~ProxyFactory(); + friend class Instance; + + InstancePtr _instance; +}; + +} + +#endif diff --git a/cpp/src/Ice/Reference.h b/cpp/src/Ice/Reference.h index 88a1bde88a5..1c64e87c3d2 100644 --- a/cpp/src/Ice/Reference.h +++ b/cpp/src/Ice/Reference.h @@ -1,96 +1,96 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_REFERENCE_H
-#define ICE_REFERENCE_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/ReferenceF.h>
-#include <Ice/ReferenceFactoryF.h>
-#include <Ice/EndpointF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/RouterF.h>
-#include <Ice/RouterInfoF.h>
-#include <Ice/ObjectAdapterF.h>
-#include <Ice/Identity.h>
-
-namespace IceInternal
-{
-
-class BasicStream;
-
-class Reference : public ::IceUtil::Shared
-{
-public:
-
- enum Mode
- {
- ModeTwoway,
- ModeOneway,
- ModeBatchOneway,
- ModeDatagram,
- ModeBatchDatagram,
- ModeLast = ModeBatchDatagram
- };
-
- bool operator==(const Reference&) const;
- bool operator!=(const Reference&) const;
- bool operator<(const Reference&) const;
-
- //
- // Marshal the reference
- //
- void streamWrite(BasicStream*) const;
-
- //
- // Convert the reference to its string form
- //
- std::string toString() const;
-
- //
- // All members are const, because References are immutable.
- //
- const InstancePtr instance;
- const Ice::Identity identity;
- const std::string facet;
- const Mode mode;
- const bool secure;
- const bool compress;
- const std::vector<EndpointPtr> origEndpoints; // Original endpoints.
- const std::vector<EndpointPtr> endpoints; // Actual endpoints, changed by a location forwards.
- const RouterInfoPtr routerInfo; // Null if no router is used.
- const Ice::ObjectAdapterPtr reverseAdapter; // For reverse communications using the adapter's incoming connections.
- const Ice::Int hashValue;
-
- //
- // Get a new reference, based on the existing one, overwriting
- // certain values.
- //
- ReferencePtr changeIdentity(const Ice::Identity&) const;
- ReferencePtr changeFacet(const std::string&) const;
- ReferencePtr changeTimeout(int) const;
- ReferencePtr changeMode(Mode) const;
- ReferencePtr changeSecure(bool) const;
- ReferencePtr changeCompress(bool) const;
- ReferencePtr changeEndpoints(const std::vector<EndpointPtr>&) const;
- ReferencePtr changeRouter(const ::Ice::RouterPrx&) const;
- ReferencePtr changeDefault() const;
-
-private:
-
- Reference(const InstancePtr&, const Ice::Identity&, const std::string&, Mode, bool, bool,
- const std::vector<EndpointPtr>&, const std::vector<EndpointPtr>&,
- const RouterInfoPtr&, const Ice::ObjectAdapterPtr&);
- friend class ReferenceFactory;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_REFERENCE_H +#define ICE_REFERENCE_H + +#include <IceUtil/Shared.h> +#include <Ice/ReferenceF.h> +#include <Ice/ReferenceFactoryF.h> +#include <Ice/EndpointF.h> +#include <Ice/InstanceF.h> +#include <Ice/RouterF.h> +#include <Ice/RouterInfoF.h> +#include <Ice/ObjectAdapterF.h> +#include <Ice/Identity.h> + +namespace IceInternal +{ + +class BasicStream; + +class Reference : public ::IceUtil::Shared +{ +public: + + enum Mode + { + ModeTwoway, + ModeOneway, + ModeBatchOneway, + ModeDatagram, + ModeBatchDatagram, + ModeLast = ModeBatchDatagram + }; + + bool operator==(const Reference&) const; + bool operator!=(const Reference&) const; + bool operator<(const Reference&) const; + + // + // Marshal the reference + // + void streamWrite(BasicStream*) const; + + // + // Convert the reference to its string form + // + std::string toString() const; + + // + // All members are const, because References are immutable. + // + const InstancePtr instance; + const Ice::Identity identity; + const std::string facet; + const Mode mode; + const bool secure; + const bool compress; + const std::vector<EndpointPtr> origEndpoints; // Original endpoints. + const std::vector<EndpointPtr> endpoints; // Actual endpoints, changed by a location forwards. + const RouterInfoPtr routerInfo; // Null if no router is used. + const Ice::ObjectAdapterPtr reverseAdapter; // For reverse communications using the adapter's incoming connections. + const Ice::Int hashValue; + + // + // Get a new reference, based on the existing one, overwriting + // certain values. + // + ReferencePtr changeIdentity(const Ice::Identity&) const; + ReferencePtr changeFacet(const std::string&) const; + ReferencePtr changeTimeout(int) const; + ReferencePtr changeMode(Mode) const; + ReferencePtr changeSecure(bool) const; + ReferencePtr changeCompress(bool) const; + ReferencePtr changeEndpoints(const std::vector<EndpointPtr>&) const; + ReferencePtr changeRouter(const ::Ice::RouterPrx&) const; + ReferencePtr changeDefault() const; + +private: + + Reference(const InstancePtr&, const Ice::Identity&, const std::string&, Mode, bool, bool, + const std::vector<EndpointPtr>&, const std::vector<EndpointPtr>&, + const RouterInfoPtr&, const Ice::ObjectAdapterPtr&); + friend class ReferenceFactory; +}; + +} + +#endif diff --git a/cpp/src/Ice/ReferenceFactory.h b/cpp/src/Ice/ReferenceFactory.h index 84bd3bd17d1..cd7bd723c26 100644 --- a/cpp/src/Ice/ReferenceFactory.h +++ b/cpp/src/Ice/ReferenceFactory.h @@ -1,51 +1,51 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_REFERENCE_FACTORY_H
-#define ICE_REFERENCE_FACTORY_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <Ice/ReferenceFactoryF.h>
-#include <Ice/Reference.h> // For Reference::Mode
-#include <set>
-
-namespace IceInternal
-{
-
-class ReferenceFactory : public ::IceUtil::Shared, public ::IceUtil::Mutex
-{
-public:
-
- ReferencePtr create(const Ice::Identity&, const std::string&, Reference::Mode, bool, bool,
- const std::vector<EndpointPtr>&, const std::vector<EndpointPtr>&,
- const RouterInfoPtr&, const Ice::ObjectAdapterPtr&);
- ReferencePtr create(const std::string&);
- ReferencePtr create(const Ice::Identity&, BasicStream*);
-
- void setDefaultRouter(const ::Ice::RouterPrx&);
- Ice::RouterPrx getDefaultRouter() const;
-
-private:
-
- ReferenceFactory(const InstancePtr&);
- void destroy();
- friend class Instance;
-
- InstancePtr _instance;
- Ice::RouterPrx _defaultRouter;
- std::set<ReferencePtr> _references;
- std::set<ReferencePtr>::iterator _referencesHint;
- int _evict;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_REFERENCE_FACTORY_H +#define ICE_REFERENCE_FACTORY_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/ReferenceFactoryF.h> +#include <Ice/Reference.h> // For Reference::Mode +#include <set> + +namespace IceInternal +{ + +class ReferenceFactory : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + ReferencePtr create(const Ice::Identity&, const std::string&, Reference::Mode, bool, bool, + const std::vector<EndpointPtr>&, const std::vector<EndpointPtr>&, + const RouterInfoPtr&, const Ice::ObjectAdapterPtr&); + ReferencePtr create(const std::string&); + ReferencePtr create(const Ice::Identity&, BasicStream*); + + void setDefaultRouter(const ::Ice::RouterPrx&); + Ice::RouterPrx getDefaultRouter() const; + +private: + + ReferenceFactory(const InstancePtr&); + void destroy(); + friend class Instance; + + InstancePtr _instance; + Ice::RouterPrx _defaultRouter; + std::set<ReferencePtr> _references; + std::set<ReferencePtr>::iterator _referencesHint; + int _evict; +}; + +} + +#endif diff --git a/cpp/src/Ice/ReferenceFactoryF.h b/cpp/src/Ice/ReferenceFactoryF.h index 840723ceb94..ffeaebc5a68 100644 --- a/cpp/src/Ice/ReferenceFactoryF.h +++ b/cpp/src/Ice/ReferenceFactoryF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_REFERENCE_FACTORY_F_H
-#define ICE_REFERENCE_FACTORY_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class ReferenceFactory;
-void incRef(ReferenceFactory*);
-void decRef(ReferenceFactory*);
-typedef Handle<ReferenceFactory> ReferenceFactoryPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_REFERENCE_FACTORY_F_H +#define ICE_REFERENCE_FACTORY_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class ReferenceFactory; +void incRef(ReferenceFactory*); +void decRef(ReferenceFactory*); +typedef Handle<ReferenceFactory> ReferenceFactoryPtr; + +} + +#endif diff --git a/cpp/src/Ice/RouterInfo.h b/cpp/src/Ice/RouterInfo.h index b7d3791bea9..15fa489175e 100644 --- a/cpp/src/Ice/RouterInfo.h +++ b/cpp/src/Ice/RouterInfo.h @@ -1,74 +1,74 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_ROUTER_INFO_H
-#define ICE_ROUTER_INFO_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <Ice/RouterInfoF.h>
-#include <Ice/RouterF.h>
-#include <Ice/ProxyF.h>
-#include <Ice/RoutingTableF.h>
-
-namespace IceInternal
-{
-
-class RouterManager : public ::IceUtil::Shared, public ::IceUtil::Mutex
-{
-public:
-
- RouterManager();
-
- void destroy();
-
- //
- // Returns router info for a given router. Automatically creates
- // the router info if it doesn't exist yet.
- //
- RouterInfoPtr get(const ::Ice::RouterPrx&);
-
-private:
-
- std::map< ::Ice::RouterPrx, RouterInfoPtr> _table;
- std::map< ::Ice::RouterPrx, RouterInfoPtr>::iterator _tableHint;
-};
-
-class RouterInfo : public ::IceUtil::Shared, public ::IceUtil::Mutex
-{
-public:
-
- RouterInfo(const ::Ice::RouterPrx&);
-
- bool operator==(const RouterInfo&) const;
- bool operator!=(const RouterInfo&) const;
- bool operator<(const RouterInfo&) const;
-
- ::Ice::RouterPrx getRouter();
- ::Ice::ObjectPrx getClientProxy();
- void setClientProxy(const ::Ice::ObjectPrx&);
- ::Ice::ObjectPrx getServerProxy();
- void setServerProxy(const ::Ice::ObjectPrx&);
- void addProxy(const ::Ice::ObjectPrx&);
- void setAdapter(const ::Ice::ObjectAdapterPtr&);
- ::Ice::ObjectAdapterPtr getAdapter();
-
-private:
-
- ::Ice::RouterPrx _router;
- ::Ice::ObjectPrx _clientProxy;
- ::Ice::ObjectPrx _serverProxy;
- RoutingTablePtr _routingTable;
- ::Ice::ObjectAdapterPtr _adapter;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_ROUTER_INFO_H +#define ICE_ROUTER_INFO_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/RouterInfoF.h> +#include <Ice/RouterF.h> +#include <Ice/ProxyF.h> +#include <Ice/RoutingTableF.h> + +namespace IceInternal +{ + +class RouterManager : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + RouterManager(); + + void destroy(); + + // + // Returns router info for a given router. Automatically creates + // the router info if it doesn't exist yet. + // + RouterInfoPtr get(const ::Ice::RouterPrx&); + +private: + + std::map< ::Ice::RouterPrx, RouterInfoPtr> _table; + std::map< ::Ice::RouterPrx, RouterInfoPtr>::iterator _tableHint; +}; + +class RouterInfo : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + RouterInfo(const ::Ice::RouterPrx&); + + bool operator==(const RouterInfo&) const; + bool operator!=(const RouterInfo&) const; + bool operator<(const RouterInfo&) const; + + ::Ice::RouterPrx getRouter(); + ::Ice::ObjectPrx getClientProxy(); + void setClientProxy(const ::Ice::ObjectPrx&); + ::Ice::ObjectPrx getServerProxy(); + void setServerProxy(const ::Ice::ObjectPrx&); + void addProxy(const ::Ice::ObjectPrx&); + void setAdapter(const ::Ice::ObjectAdapterPtr&); + ::Ice::ObjectAdapterPtr getAdapter(); + +private: + + ::Ice::RouterPrx _router; + ::Ice::ObjectPrx _clientProxy; + ::Ice::ObjectPrx _serverProxy; + RoutingTablePtr _routingTable; + ::Ice::ObjectAdapterPtr _adapter; +}; + +} + +#endif diff --git a/cpp/src/Ice/RouterInfoF.h b/cpp/src/Ice/RouterInfoF.h index 1db2e9bb606..72afbc70e7f 100644 --- a/cpp/src/Ice/RouterInfoF.h +++ b/cpp/src/Ice/RouterInfoF.h @@ -1,31 +1,31 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_ROUTER_INFO_F_H
-#define ICE_ROUTER_INFO_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class RouterManager;
-void incRef(RouterManager*);
-void decRef(RouterManager*);
-typedef Handle<RouterManager> RouterManagerPtr;
-
-class RouterInfo;
-void incRef(RouterInfo*);
-void decRef(RouterInfo*);
-typedef Handle<RouterInfo> RouterInfoPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_ROUTER_INFO_F_H +#define ICE_ROUTER_INFO_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class RouterManager; +void incRef(RouterManager*); +void decRef(RouterManager*); +typedef Handle<RouterManager> RouterManagerPtr; + +class RouterInfo; +void incRef(RouterInfo*); +void decRef(RouterInfo*); +typedef Handle<RouterInfo> RouterInfoPtr; + +} + +#endif diff --git a/cpp/src/Ice/SysLoggerI.h b/cpp/src/Ice/SysLoggerI.h index f7d14c324e2..8ddde95cf7e 100644 --- a/cpp/src/Ice/SysLoggerI.h +++ b/cpp/src/Ice/SysLoggerI.h @@ -1,31 +1,31 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SYS_LOGGER_I_H
-#define ICE_SYS_LOGGER_I_H
-
-#include <IceUtil/Mutex.h>
-#include <Ice/Logger.h>
-
-namespace Ice
-{
-
-class SysLoggerI : public Logger, public ::IceUtil::Mutex
-{
-public:
-
- virtual void trace(const std::string&, const std::string&);
- virtual void warning(const std::string&);
- virtual void error(const std::string&);
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SYS_LOGGER_I_H +#define ICE_SYS_LOGGER_I_H + +#include <IceUtil/Mutex.h> +#include <Ice/Logger.h> + +namespace Ice +{ + +class SysLoggerI : public Logger, public ::IceUtil::Mutex +{ +public: + + virtual void trace(const std::string&, const std::string&); + virtual void warning(const std::string&); + virtual void error(const std::string&); +}; + +} + +#endif diff --git a/cpp/src/Ice/TcpAcceptor.h b/cpp/src/Ice/TcpAcceptor.h index 2cb462f7864..e98a222f401 100644 --- a/cpp/src/Ice/TcpAcceptor.h +++ b/cpp/src/Ice/TcpAcceptor.h @@ -1,58 +1,58 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TCP_ACCEPTOR_H
-#define ICE_TCP_ACCEPTOR_H
-
-#include <Ice/TransceiverF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/TraceLevelsF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/Acceptor.h>
-
-#ifndef _WIN32
-# include <netinet/in.h> // For struct sockaddr_in
-#endif
-
-namespace IceInternal
-{
-
-class TcpEndpoint;
-
-class TcpAcceptor : public Acceptor
-{
-public:
-
- virtual SOCKET fd();
- virtual void close();
- virtual void listen();
- virtual TransceiverPtr accept(int);
- virtual std::string toString() const;
-
- bool equivalent(const std::string&, int) const;
- int effectivePort();
-
-private:
-
- TcpAcceptor(const InstancePtr&, const std::string&, int);
- virtual ~TcpAcceptor();
- friend class TcpEndpoint;
-
- InstancePtr _instance;
- TraceLevelsPtr _traceLevels;
- ::Ice::LoggerPtr _logger;
- SOCKET _fd;
- int _backlog;
- struct sockaddr_in _addr;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TCP_ACCEPTOR_H +#define ICE_TCP_ACCEPTOR_H + +#include <Ice/TransceiverF.h> +#include <Ice/InstanceF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/LoggerF.h> +#include <Ice/Acceptor.h> + +#ifndef _WIN32 +# include <netinet/in.h> // For struct sockaddr_in +#endif + +namespace IceInternal +{ + +class TcpEndpoint; + +class TcpAcceptor : public Acceptor +{ +public: + + virtual SOCKET fd(); + virtual void close(); + virtual void listen(); + virtual TransceiverPtr accept(int); + virtual std::string toString() const; + + bool equivalent(const std::string&, int) const; + int effectivePort(); + +private: + + TcpAcceptor(const InstancePtr&, const std::string&, int); + virtual ~TcpAcceptor(); + friend class TcpEndpoint; + + InstancePtr _instance; + TraceLevelsPtr _traceLevels; + ::Ice::LoggerPtr _logger; + SOCKET _fd; + int _backlog; + struct sockaddr_in _addr; +}; + +} + +#endif diff --git a/cpp/src/Ice/TcpConnector.h b/cpp/src/Ice/TcpConnector.h index 79dfea97455..e554d7210b5 100644 --- a/cpp/src/Ice/TcpConnector.h +++ b/cpp/src/Ice/TcpConnector.h @@ -1,50 +1,50 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TCP_CONNECTOR_H
-#define ICE_TCP_CONNECTOR_H
-
-#include <Ice/TransceiverF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/TraceLevelsF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/Connector.h>
-
-#ifndef _WIN32
-# include <netinet/in.h> // For struct sockaddr_in
-#endif
-
-namespace IceInternal
-{
-
-class TcpEndpoint;
-
-class TcpConnector : public Connector
-{
-public:
-
- virtual TransceiverPtr connect(int);
- virtual std::string toString() const;
-
-private:
-
- TcpConnector(const InstancePtr&, const std::string&, int);
- virtual ~TcpConnector();
- friend class TcpEndpoint;
-
- InstancePtr _instance;
- TraceLevelsPtr _traceLevels;
- ::Ice::LoggerPtr _logger;
- struct sockaddr_in _addr;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TCP_CONNECTOR_H +#define ICE_TCP_CONNECTOR_H + +#include <Ice/TransceiverF.h> +#include <Ice/InstanceF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/LoggerF.h> +#include <Ice/Connector.h> + +#ifndef _WIN32 +# include <netinet/in.h> // For struct sockaddr_in +#endif + +namespace IceInternal +{ + +class TcpEndpoint; + +class TcpConnector : public Connector +{ +public: + + virtual TransceiverPtr connect(int); + virtual std::string toString() const; + +private: + + TcpConnector(const InstancePtr&, const std::string&, int); + virtual ~TcpConnector(); + friend class TcpEndpoint; + + InstancePtr _instance; + TraceLevelsPtr _traceLevels; + ::Ice::LoggerPtr _logger; + struct sockaddr_in _addr; +}; + +} + +#endif diff --git a/cpp/src/Ice/TcpEndpoint.h b/cpp/src/Ice/TcpEndpoint.h index 9ef58fe6eaa..55c7b371132 100644 --- a/cpp/src/Ice/TcpEndpoint.h +++ b/cpp/src/Ice/TcpEndpoint.h @@ -1,82 +1,82 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TCP_ENDPOINT_H
-#define ICE_TCP_ENDPOINT_H
-
-#include <Ice/Endpoint.h>
-#include <Ice/EndpointFactory.h>
-
-namespace IceInternal
-{
-
-const ::Ice::Short TcpEndpointType = 1;
-
-class TcpEndpoint : public Endpoint
-{
-public:
-
- TcpEndpoint(const InstancePtr&, const std::string&, ::Ice::Int, ::Ice::Int);
- TcpEndpoint(const InstancePtr&, const std::string&);
- TcpEndpoint(BasicStream*);
-
- virtual void streamWrite(BasicStream*) const;
- virtual std::string toString() const;
- virtual ::Ice::Short type() const;
- virtual ::Ice::Int timeout() const;
- virtual EndpointPtr timeout(::Ice::Int) const;
- virtual bool datagram() const;
- virtual bool secure() const;
- virtual bool unknown() const;
- virtual TransceiverPtr clientTransceiver() const;
- virtual TransceiverPtr serverTransceiver(EndpointPtr&) const;
- virtual ConnectorPtr connector() const;
- virtual AcceptorPtr acceptor(EndpointPtr&) const;
- virtual bool equivalent(const TransceiverPtr&) const;
- virtual bool equivalent(const AcceptorPtr&) const;
-
- virtual bool operator==(const Endpoint&) const;
- virtual bool operator!=(const Endpoint&) const;
- virtual bool operator<(const Endpoint&) const;
-
-private:
-
- //
- // All members are const, because endpoints are immutable.
- //
- const InstancePtr _instance;
- const std::string _host;
- const ::Ice::Int _port;
- const ::Ice::Int _timeout;
-};
-
-class TcpEndpointFactory : public EndpointFactory
-{
-public:
-
- virtual ~TcpEndpointFactory();
-
- virtual ::Ice::Short type() const;
- virtual const ::std::string& protocol() const;
- virtual EndpointPtr create(const std::string&) const;
- virtual EndpointPtr read(BasicStream*) const;
- virtual void destroy();
-
-private:
-
- TcpEndpointFactory(const InstancePtr&);
- friend class Instance;
-
- InstancePtr _instance;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TCP_ENDPOINT_H +#define ICE_TCP_ENDPOINT_H + +#include <Ice/Endpoint.h> +#include <Ice/EndpointFactory.h> + +namespace IceInternal +{ + +const ::Ice::Short TcpEndpointType = 1; + +class TcpEndpoint : public Endpoint +{ +public: + + TcpEndpoint(const InstancePtr&, const std::string&, ::Ice::Int, ::Ice::Int); + TcpEndpoint(const InstancePtr&, const std::string&); + TcpEndpoint(BasicStream*); + + virtual void streamWrite(BasicStream*) const; + virtual std::string toString() const; + virtual ::Ice::Short type() const; + virtual ::Ice::Int timeout() const; + virtual EndpointPtr timeout(::Ice::Int) const; + virtual bool datagram() const; + virtual bool secure() const; + virtual bool unknown() const; + virtual TransceiverPtr clientTransceiver() const; + virtual TransceiverPtr serverTransceiver(EndpointPtr&) const; + virtual ConnectorPtr connector() const; + virtual AcceptorPtr acceptor(EndpointPtr&) const; + virtual bool equivalent(const TransceiverPtr&) const; + virtual bool equivalent(const AcceptorPtr&) const; + + virtual bool operator==(const Endpoint&) const; + virtual bool operator!=(const Endpoint&) const; + virtual bool operator<(const Endpoint&) const; + +private: + + // + // All members are const, because endpoints are immutable. + // + const InstancePtr _instance; + const std::string _host; + const ::Ice::Int _port; + const ::Ice::Int _timeout; +}; + +class TcpEndpointFactory : public EndpointFactory +{ +public: + + virtual ~TcpEndpointFactory(); + + virtual ::Ice::Short type() const; + virtual const ::std::string& protocol() const; + virtual EndpointPtr create(const std::string&) const; + virtual EndpointPtr read(BasicStream*) const; + virtual void destroy(); + +private: + + TcpEndpointFactory(const InstancePtr&); + friend class Instance; + + InstancePtr _instance; +}; + +} + +#endif diff --git a/cpp/src/Ice/TcpTransceiver.h b/cpp/src/Ice/TcpTransceiver.h index c3daa2fdb37..9809f68a60b 100644 --- a/cpp/src/Ice/TcpTransceiver.h +++ b/cpp/src/Ice/TcpTransceiver.h @@ -1,53 +1,53 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TCP_TRANSCEIVER_H
-#define ICE_TCP_TRANSCEIVER_H
-
-#include <Ice/InstanceF.h>
-#include <Ice/TraceLevelsF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/Transceiver.h>
-
-namespace IceInternal
-{
-
-class TcpConnector;
-class TcpAcceptor;
-
-class TcpTransceiver : public Transceiver
-{
-public:
-
- virtual SOCKET fd();
- virtual void close();
- virtual void shutdown();
- virtual void write(Buffer&, int);
- virtual void read(Buffer&, int);
- virtual std::string toString() const;
-
-private:
-
- TcpTransceiver(const InstancePtr&, SOCKET);
- virtual ~TcpTransceiver();
- friend class TcpConnector;
- friend class TcpAcceptor;
-
- InstancePtr _instance;
- TraceLevelsPtr _traceLevels;
- ::Ice::LoggerPtr _logger;
- SOCKET _fd;
- fd_set _rFdSet;
- fd_set _wFdSet;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TCP_TRANSCEIVER_H +#define ICE_TCP_TRANSCEIVER_H + +#include <Ice/InstanceF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/LoggerF.h> +#include <Ice/Transceiver.h> + +namespace IceInternal +{ + +class TcpConnector; +class TcpAcceptor; + +class TcpTransceiver : public Transceiver +{ +public: + + virtual SOCKET fd(); + virtual void close(); + virtual void shutdown(); + virtual void write(Buffer&, int); + virtual void read(Buffer&, int); + virtual std::string toString() const; + +private: + + TcpTransceiver(const InstancePtr&, SOCKET); + virtual ~TcpTransceiver(); + friend class TcpConnector; + friend class TcpAcceptor; + + InstancePtr _instance; + TraceLevelsPtr _traceLevels; + ::Ice::LoggerPtr _logger; + SOCKET _fd; + fd_set _rFdSet; + fd_set _wFdSet; +}; + +} + +#endif diff --git a/cpp/src/Ice/ThreadPool.h b/cpp/src/Ice/ThreadPool.h index 9343ab54dd5..dfdb3aa7d53 100644 --- a/cpp/src/Ice/ThreadPool.h +++ b/cpp/src/Ice/ThreadPool.h @@ -1,93 +1,93 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_THREAD_POOL_H
-#define ICE_THREAD_POOL_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <IceUtil/Monitor.h>
-#include <IceUtil/Thread.h>
-
-#include <Ice/ThreadPoolF.h>
-#include <Ice/InstanceF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/PropertiesF.h>
-#include <Ice/EventHandlerF.h>
-#include <list>
-
-#ifndef _WIN32
-# define SOCKET int
-#endif
-
-namespace IceInternal
-{
-
-class BasicStream;
-
-class ThreadPool : public ::IceUtil::Shared, public IceUtil::Monitor<IceUtil::Mutex>
-{
-public:
-
- void _register(SOCKET, const EventHandlerPtr&);
- void unregister(SOCKET);
- void promoteFollower();
- void initiateShutdown(); // Signal-safe shutdown initiation.
- void waitUntilFinished();
- void joinWithAllThreads();
-
-private:
-
- ThreadPool(const InstancePtr&, bool);
- virtual ~ThreadPool();
- void destroy();
- friend class Instance;
-
- bool clearInterrupt();
- void setInterrupt(char);
-
- void run();
- void read(const EventHandlerPtr&);
-
- InstancePtr _instance;
- bool _destroyed;
- SOCKET _maxFd;
- SOCKET _minFd;
- SOCKET _lastFd;
- SOCKET _fdIntrRead;
- SOCKET _fdIntrWrite;
- fd_set _fdSet;
- std::list<std::pair<SOCKET, EventHandlerPtr> > _changes; // Event handler set for addition; null for removal.
- std::map<SOCKET, EventHandlerPtr> _handlerMap;
- int _handlers;
- int _timeout;
- ::IceUtil::Mutex _threadMutex;
- bool _multipleThreads;
-
- class EventHandlerThread : public ::IceUtil::Thread
- {
- public:
-
- EventHandlerThread(const ThreadPoolPtr&);
- virtual void run();
-
- private:
-
- ThreadPoolPtr _pool;
- };
- friend class EventHandlerThread;
-
- std::vector<IceUtil::ThreadControl> _threads; // Control for all threads, running or not.
- int _threadNum; // Number of running threads.
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_THREAD_POOL_H +#define ICE_THREAD_POOL_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <IceUtil/Monitor.h> +#include <IceUtil/Thread.h> + +#include <Ice/ThreadPoolF.h> +#include <Ice/InstanceF.h> +#include <Ice/LoggerF.h> +#include <Ice/PropertiesF.h> +#include <Ice/EventHandlerF.h> +#include <list> + +#ifndef _WIN32 +# define SOCKET int +#endif + +namespace IceInternal +{ + +class BasicStream; + +class ThreadPool : public ::IceUtil::Shared, public IceUtil::Monitor<IceUtil::Mutex> +{ +public: + + void _register(SOCKET, const EventHandlerPtr&); + void unregister(SOCKET); + void promoteFollower(); + void initiateShutdown(); // Signal-safe shutdown initiation. + void waitUntilFinished(); + void joinWithAllThreads(); + +private: + + ThreadPool(const InstancePtr&, bool); + virtual ~ThreadPool(); + void destroy(); + friend class Instance; + + bool clearInterrupt(); + void setInterrupt(char); + + void run(); + void read(const EventHandlerPtr&); + + InstancePtr _instance; + bool _destroyed; + SOCKET _maxFd; + SOCKET _minFd; + SOCKET _lastFd; + SOCKET _fdIntrRead; + SOCKET _fdIntrWrite; + fd_set _fdSet; + std::list<std::pair<SOCKET, EventHandlerPtr> > _changes; // Event handler set for addition; null for removal. + std::map<SOCKET, EventHandlerPtr> _handlerMap; + int _handlers; + int _timeout; + ::IceUtil::Mutex _threadMutex; + bool _multipleThreads; + + class EventHandlerThread : public ::IceUtil::Thread + { + public: + + EventHandlerThread(const ThreadPoolPtr&); + virtual void run(); + + private: + + ThreadPoolPtr _pool; + }; + friend class EventHandlerThread; + + std::vector<IceUtil::ThreadControl> _threads; // Control for all threads, running or not. + int _threadNum; // Number of running threads. +}; + +} + +#endif diff --git a/cpp/src/Ice/ThreadPoolF.h b/cpp/src/Ice/ThreadPoolF.h index 18628f56397..44332d6c413 100644 --- a/cpp/src/Ice/ThreadPoolF.h +++ b/cpp/src/Ice/ThreadPoolF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_THREAD_POOL_F_H
-#define ICE_THREAD_POOL_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class ThreadPool;
-void incRef(ThreadPool*);
-void decRef(ThreadPool*);
-typedef Handle<ThreadPool> ThreadPoolPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_THREAD_POOL_F_H +#define ICE_THREAD_POOL_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class ThreadPool; +void incRef(ThreadPool*); +void decRef(ThreadPool*); +typedef Handle<ThreadPool> ThreadPoolPtr; + +} + +#endif diff --git a/cpp/src/Ice/TraceLevels.h b/cpp/src/Ice/TraceLevels.h index 80217412055..ea2cec28fb9 100644 --- a/cpp/src/Ice/TraceLevels.h +++ b/cpp/src/Ice/TraceLevels.h @@ -1,39 +1,39 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TRACE_LEVELS_H
-#define ICE_TRACE_LEVELS_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/TraceLevelsF.h>
-#include <Ice/PropertiesF.h>
-
-namespace IceInternal
-{
-
-class TraceLevels : public ::IceUtil::Shared
-{
-public:
-
- TraceLevels(const ::Ice::PropertiesPtr&);
-
- const int network;
- const char* networkCat;
-
- const int protocol;
- const char* protocolCat;
-
- const int retry;
- const char* retryCat;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TRACE_LEVELS_H +#define ICE_TRACE_LEVELS_H + +#include <IceUtil/Shared.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/PropertiesF.h> + +namespace IceInternal +{ + +class TraceLevels : public ::IceUtil::Shared +{ +public: + + TraceLevels(const ::Ice::PropertiesPtr&); + + const int network; + const char* networkCat; + + const int protocol; + const char* protocolCat; + + const int retry; + const char* retryCat; +}; + +} + +#endif diff --git a/cpp/src/Ice/TraceLevelsF.h b/cpp/src/Ice/TraceLevelsF.h index 16648060987..8b6e37218b6 100644 --- a/cpp/src/Ice/TraceLevelsF.h +++ b/cpp/src/Ice/TraceLevelsF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TRACE_LEVELS_F_H
-#define ICE_TRACE_LEVELS_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class TraceLevels;
-void incRef(TraceLevels*);
-void decRef(TraceLevels*);
-typedef Handle<TraceLevels> TraceLevelsPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TRACE_LEVELS_F_H +#define ICE_TRACE_LEVELS_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class TraceLevels; +void incRef(TraceLevels*); +void decRef(TraceLevels*); +typedef Handle<TraceLevels> TraceLevelsPtr; + +} + +#endif diff --git a/cpp/src/Ice/TraceUtil.h b/cpp/src/Ice/TraceUtil.h index d76da5378ac..8841561ad82 100644 --- a/cpp/src/Ice/TraceUtil.h +++ b/cpp/src/Ice/TraceUtil.h @@ -1,29 +1,29 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TRACE_UTIL_H
-#define ICE_TRACE_UTIL_H
-
-#include <Ice/LoggerF.h>
-#include <Ice/TraceLevelsF.h>
-
-namespace IceInternal
-{
-
-class BasicStream;
-
-void traceHeader(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&);
-void traceRequest(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&);
-void traceBatchRequest(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&);
-void traceReply(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TRACE_UTIL_H +#define ICE_TRACE_UTIL_H + +#include <Ice/LoggerF.h> +#include <Ice/TraceLevelsF.h> + +namespace IceInternal +{ + +class BasicStream; + +void traceHeader(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&); +void traceRequest(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&); +void traceBatchRequest(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&); +void traceReply(const char*, const BasicStream&, const ::Ice::LoggerPtr&, const TraceLevelsPtr&); + +} + +#endif diff --git a/cpp/src/Ice/Transceiver.h b/cpp/src/Ice/Transceiver.h index 2238527f8b1..244e2743415 100644 --- a/cpp/src/Ice/Transceiver.h +++ b/cpp/src/Ice/Transceiver.h @@ -1,40 +1,40 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TRANSCEIVER_H
-#define ICE_TRANSCEIVER_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/TransceiverF.h>
-
-#ifndef _WIN32
-# define SOCKET int
-#endif
-
-namespace IceInternal
-{
-
-class Buffer;
-
-class ICE_PROTOCOL_API Transceiver : public ::IceUtil::Shared
-{
-public:
-
- virtual SOCKET fd() = 0;
- virtual void close() = 0;
- virtual void shutdown() = 0;
- virtual void write(Buffer&, int) = 0;
- virtual void read(Buffer&, int) = 0;
- virtual std::string toString() const = 0;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TRANSCEIVER_H +#define ICE_TRANSCEIVER_H + +#include <IceUtil/Shared.h> +#include <Ice/TransceiverF.h> + +#ifndef _WIN32 +# define SOCKET int +#endif + +namespace IceInternal +{ + +class Buffer; + +class ICE_PROTOCOL_API Transceiver : public ::IceUtil::Shared +{ +public: + + virtual SOCKET fd() = 0; + virtual void close() = 0; + virtual void shutdown() = 0; + virtual void write(Buffer&, int) = 0; + virtual void read(Buffer&, int) = 0; + virtual std::string toString() const = 0; +}; + +} + +#endif diff --git a/cpp/src/Ice/TransceiverF.h b/cpp/src/Ice/TransceiverF.h index 45b1bde641b..80f3293f0e2 100644 --- a/cpp/src/Ice/TransceiverF.h +++ b/cpp/src/Ice/TransceiverF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_TRANSCEIVER_F_H
-#define ICE_TRANSCEIVER_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class Transceiver;
-ICE_PROTOCOL_API void incRef(Transceiver*);
-ICE_PROTOCOL_API void decRef(Transceiver*);
-typedef Handle<Transceiver> TransceiverPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_TRANSCEIVER_F_H +#define ICE_TRANSCEIVER_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class Transceiver; +ICE_PROTOCOL_API void incRef(Transceiver*); +ICE_PROTOCOL_API void decRef(Transceiver*); +typedef Handle<Transceiver> TransceiverPtr; + +} + +#endif diff --git a/cpp/src/Ice/UdpEndpoint.h b/cpp/src/Ice/UdpEndpoint.h index fe0d3233951..321b9214f9e 100644 --- a/cpp/src/Ice/UdpEndpoint.h +++ b/cpp/src/Ice/UdpEndpoint.h @@ -1,82 +1,82 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_UDP_ENDPOINT_H
-#define ICE_UDP_ENDPOINT_H
-
-#include <Ice/Endpoint.h>
-#include <Ice/EndpointFactory.h>
-
-namespace IceInternal
-{
-
-const ::Ice::Short UdpEndpointType = 3;
-
-class UdpEndpoint : public Endpoint
-{
-public:
-
- UdpEndpoint(const InstancePtr&, const std::string&, ::Ice::Int);
- UdpEndpoint(const InstancePtr&, const std::string&);
- UdpEndpoint(BasicStream*);
-
- virtual void streamWrite(BasicStream*) const;
- virtual std::string toString() const;
- virtual ::Ice::Short type() const;
- virtual ::Ice::Int timeout() const;
- virtual EndpointPtr timeout(::Ice::Int) const;
- virtual bool datagram() const;
- virtual bool secure() const;
- virtual bool unknown() const;
- virtual TransceiverPtr clientTransceiver() const;
- virtual TransceiverPtr serverTransceiver(EndpointPtr&) const;
- virtual ConnectorPtr connector() const;
- virtual AcceptorPtr acceptor(EndpointPtr&) const;
- virtual bool equivalent(const TransceiverPtr&) const;
- virtual bool equivalent(const AcceptorPtr&) const;
-
- virtual bool operator==(const Endpoint&) const;
- virtual bool operator!=(const Endpoint&) const;
- virtual bool operator<(const Endpoint&) const;
-
-private:
-
- //
- // All members are const, because endpoints are immutable.
- //
- const InstancePtr _instance;
- const std::string _host;
- const ::Ice::Int _port;
- const bool _connect;
-};
-
-class UdpEndpointFactory : public EndpointFactory
-{
-public:
-
- virtual ~UdpEndpointFactory();
-
- virtual ::Ice::Short type() const;
- virtual const ::std::string& protocol() const;
- virtual EndpointPtr create(const std::string&) const;
- virtual EndpointPtr read(BasicStream*) const;
- virtual void destroy();
-
-private:
-
- UdpEndpointFactory(const InstancePtr&);
- friend class Instance;
-
- InstancePtr _instance;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_UDP_ENDPOINT_H +#define ICE_UDP_ENDPOINT_H + +#include <Ice/Endpoint.h> +#include <Ice/EndpointFactory.h> + +namespace IceInternal +{ + +const ::Ice::Short UdpEndpointType = 3; + +class UdpEndpoint : public Endpoint +{ +public: + + UdpEndpoint(const InstancePtr&, const std::string&, ::Ice::Int); + UdpEndpoint(const InstancePtr&, const std::string&); + UdpEndpoint(BasicStream*); + + virtual void streamWrite(BasicStream*) const; + virtual std::string toString() const; + virtual ::Ice::Short type() const; + virtual ::Ice::Int timeout() const; + virtual EndpointPtr timeout(::Ice::Int) const; + virtual bool datagram() const; + virtual bool secure() const; + virtual bool unknown() const; + virtual TransceiverPtr clientTransceiver() const; + virtual TransceiverPtr serverTransceiver(EndpointPtr&) const; + virtual ConnectorPtr connector() const; + virtual AcceptorPtr acceptor(EndpointPtr&) const; + virtual bool equivalent(const TransceiverPtr&) const; + virtual bool equivalent(const AcceptorPtr&) const; + + virtual bool operator==(const Endpoint&) const; + virtual bool operator!=(const Endpoint&) const; + virtual bool operator<(const Endpoint&) const; + +private: + + // + // All members are const, because endpoints are immutable. + // + const InstancePtr _instance; + const std::string _host; + const ::Ice::Int _port; + const bool _connect; +}; + +class UdpEndpointFactory : public EndpointFactory +{ +public: + + virtual ~UdpEndpointFactory(); + + virtual ::Ice::Short type() const; + virtual const ::std::string& protocol() const; + virtual EndpointPtr create(const std::string&) const; + virtual EndpointPtr read(BasicStream*) const; + virtual void destroy(); + +private: + + UdpEndpointFactory(const InstancePtr&); + friend class Instance; + + InstancePtr _instance; +}; + +} + +#endif diff --git a/cpp/src/Ice/UdpTransceiver.h b/cpp/src/Ice/UdpTransceiver.h index 215f8a6bc74..5a979dc9ac1 100644 --- a/cpp/src/Ice/UdpTransceiver.h +++ b/cpp/src/Ice/UdpTransceiver.h @@ -1,69 +1,69 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_UDP_TRANSCEIVER_H
-#define ICE_UDP_TRANSCEIVER_H
-
-#include <Ice/InstanceF.h>
-#include <Ice/TraceLevelsF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/Transceiver.h>
-
-#ifndef _WIN32
-# include <netinet/in.h> // For struct sockaddr_in
-#endif
-
-namespace IceInternal
-{
-
-class UdpEndpoint;
-
-class SUdpTransceiver;
-
-class UdpTransceiver : public Transceiver
-{
-public:
-
- virtual SOCKET fd();
- virtual void close();
- virtual void shutdown();
- virtual void write(Buffer&, int);
- virtual void read(Buffer&, int);
- virtual std::string toString() const;
-
- bool equivalent(const std::string&, int) const;
- int effectivePort();
- void setProtocolName(const std::string&);
-
-private:
-
- UdpTransceiver(const InstancePtr&, const std::string&, int, const std::string& protocolName = "udp");
- UdpTransceiver(const InstancePtr&, const std::string&, int, bool, const std::string& protocolName = "udp");
- virtual ~UdpTransceiver();
-
- friend class UdpEndpoint;
-// friend class SUdpEndpoint; // TODO: Remove as soon as SUdpEndpoint uses SUdpTransceiver.
-// friend class SUdpTransceiver;
-
- InstancePtr _instance;
- TraceLevelsPtr _traceLevels;
- ::Ice::LoggerPtr _logger;
- bool _incoming;
- bool _connect;
- SOCKET _fd;
- struct sockaddr_in _addr;
- fd_set _rFdSet;
- fd_set _wFdSet;
- std::string _protocolName;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_UDP_TRANSCEIVER_H +#define ICE_UDP_TRANSCEIVER_H + +#include <Ice/InstanceF.h> +#include <Ice/TraceLevelsF.h> +#include <Ice/LoggerF.h> +#include <Ice/Transceiver.h> + +#ifndef _WIN32 +# include <netinet/in.h> // For struct sockaddr_in +#endif + +namespace IceInternal +{ + +class UdpEndpoint; + +class SUdpTransceiver; + +class UdpTransceiver : public Transceiver +{ +public: + + virtual SOCKET fd(); + virtual void close(); + virtual void shutdown(); + virtual void write(Buffer&, int); + virtual void read(Buffer&, int); + virtual std::string toString() const; + + bool equivalent(const std::string&, int) const; + int effectivePort(); + void setProtocolName(const std::string&); + +private: + + UdpTransceiver(const InstancePtr&, const std::string&, int, const std::string& protocolName = "udp"); + UdpTransceiver(const InstancePtr&, const std::string&, int, bool, const std::string& protocolName = "udp"); + virtual ~UdpTransceiver(); + + friend class UdpEndpoint; +// friend class SUdpEndpoint; // TODO: Remove as soon as SUdpEndpoint uses SUdpTransceiver. +// friend class SUdpTransceiver; + + InstancePtr _instance; + TraceLevelsPtr _traceLevels; + ::Ice::LoggerPtr _logger; + bool _incoming; + bool _connect; + SOCKET _fd; + struct sockaddr_in _addr; + fd_set _rFdSet; + fd_set _wFdSet; + std::string _protocolName; +}; + +} + +#endif diff --git a/cpp/src/Ice/UnknownEndpoint.h b/cpp/src/Ice/UnknownEndpoint.h index ed48fde8fb6..17ea13a7320 100644 --- a/cpp/src/Ice/UnknownEndpoint.h +++ b/cpp/src/Ice/UnknownEndpoint.h @@ -1,59 +1,59 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_UNKNOWN_ENDPOINT_H
-#define ICE_UNKNOWN_ENDPOINT_H
-
-#include <Ice/Endpoint.h>
-#include <Ice/EndpointFactory.h>
-
-namespace IceInternal
-{
-
-const ::Ice::Short UnknownEndpointType = 0;
-
-class UnknownEndpoint : public Endpoint
-{
-public:
-
- UnknownEndpoint(::Ice::Short, BasicStream*);
-
- virtual void streamWrite(BasicStream*) const;
- virtual std::string toString() const;
- virtual ::Ice::Short type() const;
- virtual ::Ice::Int timeout() const;
- virtual EndpointPtr timeout(::Ice::Int) const;
- virtual bool datagram() const;
- virtual bool secure() const;
- virtual bool unknown() const;
- virtual TransceiverPtr clientTransceiver() const;
- virtual TransceiverPtr serverTransceiver(EndpointPtr&) const;
- virtual ConnectorPtr connector() const;
- virtual AcceptorPtr acceptor(EndpointPtr&) const;
- virtual bool equivalent(const TransceiverPtr&) const;
- virtual bool equivalent(const AcceptorPtr&) const;
-
- virtual bool operator==(const Endpoint&) const;
- virtual bool operator!=(const Endpoint&) const;
- virtual bool operator<(const Endpoint&) const;
-
-private:
-
- //
- // All members are const, because endpoints are immutable.
- //
- const InstancePtr _instance;
- ::Ice::Short _type;
- const std::vector< ::Ice::Byte> _rawBytes;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_UNKNOWN_ENDPOINT_H +#define ICE_UNKNOWN_ENDPOINT_H + +#include <Ice/Endpoint.h> +#include <Ice/EndpointFactory.h> + +namespace IceInternal +{ + +const ::Ice::Short UnknownEndpointType = 0; + +class UnknownEndpoint : public Endpoint +{ +public: + + UnknownEndpoint(::Ice::Short, BasicStream*); + + virtual void streamWrite(BasicStream*) const; + virtual std::string toString() const; + virtual ::Ice::Short type() const; + virtual ::Ice::Int timeout() const; + virtual EndpointPtr timeout(::Ice::Int) const; + virtual bool datagram() const; + virtual bool secure() const; + virtual bool unknown() const; + virtual TransceiverPtr clientTransceiver() const; + virtual TransceiverPtr serverTransceiver(EndpointPtr&) const; + virtual ConnectorPtr connector() const; + virtual AcceptorPtr acceptor(EndpointPtr&) const; + virtual bool equivalent(const TransceiverPtr&) const; + virtual bool equivalent(const AcceptorPtr&) const; + + virtual bool operator==(const Endpoint&) const; + virtual bool operator!=(const Endpoint&) const; + virtual bool operator<(const Endpoint&) const; + +private: + + // + // All members are const, because endpoints are immutable. + // + const InstancePtr _instance; + ::Ice::Short _type; + const std::vector< ::Ice::Byte> _rawBytes; +}; + +} + +#endif diff --git a/cpp/src/Ice/UserExceptionFactoryManager.h b/cpp/src/Ice/UserExceptionFactoryManager.h index a213272df31..8c59c847549 100644 --- a/cpp/src/Ice/UserExceptionFactoryManager.h +++ b/cpp/src/Ice/UserExceptionFactoryManager.h @@ -1,42 +1,42 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_USER_EXCEPTION_FACTORY_MANAGER_H
-#define ICE_USER_EXCEPTION_FACTORY_MANAGER_H
-
-#include <IceUtil/Shared.h>
-#include <IceUtil/Mutex.h>
-#include <Ice/UserExceptionFactoryManagerF.h>
-#include <Ice/UserExceptionFactoryF.h>
-
-namespace IceInternal
-{
-
-class UserExceptionFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex
-{
-public:
-
- void add(const ::Ice::UserExceptionFactoryPtr&, const std::string&);
- void remove(const std::string&);
- ::Ice::UserExceptionFactoryPtr find(const std::string&);
-
-private:
-
- UserExceptionFactoryManager();
- void destroy();
- friend class Instance;
-
- std::map<std::string, ::Ice::UserExceptionFactoryPtr> _factoryMap;
- std::map<std::string, ::Ice::UserExceptionFactoryPtr>::iterator _factoryMapHint;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_USER_EXCEPTION_FACTORY_MANAGER_H +#define ICE_USER_EXCEPTION_FACTORY_MANAGER_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Mutex.h> +#include <Ice/UserExceptionFactoryManagerF.h> +#include <Ice/UserExceptionFactoryF.h> + +namespace IceInternal +{ + +class UserExceptionFactoryManager : public ::IceUtil::Shared, public ::IceUtil::Mutex +{ +public: + + void add(const ::Ice::UserExceptionFactoryPtr&, const std::string&); + void remove(const std::string&); + ::Ice::UserExceptionFactoryPtr find(const std::string&); + +private: + + UserExceptionFactoryManager(); + void destroy(); + friend class Instance; + + std::map<std::string, ::Ice::UserExceptionFactoryPtr> _factoryMap; + std::map<std::string, ::Ice::UserExceptionFactoryPtr>::iterator _factoryMapHint; +}; + +} + +#endif diff --git a/cpp/src/Ice/UserExceptionFactoryManagerF.h b/cpp/src/Ice/UserExceptionFactoryManagerF.h index 5640d639ec9..9f4bb2deac8 100644 --- a/cpp/src/Ice/UserExceptionFactoryManagerF.h +++ b/cpp/src/Ice/UserExceptionFactoryManagerF.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_USER_EXCEPTION_FACTORY_MANAGER_F_H
-#define ICE_USER_EXCEPTION_FACTORY_MANAGER_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceInternal
-{
-
-class UserExceptionFactoryManager;
-void incRef(UserExceptionFactoryManager*);
-void decRef(UserExceptionFactoryManager*);
-typedef IceInternal::Handle<UserExceptionFactoryManager> UserExceptionFactoryManagerPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_USER_EXCEPTION_FACTORY_MANAGER_F_H +#define ICE_USER_EXCEPTION_FACTORY_MANAGER_F_H + +#include <Ice/Handle.h> + +namespace IceInternal +{ + +class UserExceptionFactoryManager; +void incRef(UserExceptionFactoryManager*); +void decRef(UserExceptionFactoryManager*); +typedef IceInternal::Handle<UserExceptionFactoryManager> UserExceptionFactoryManagerPtr; + +} + +#endif diff --git a/cpp/src/IceBox/ServiceManagerI.h b/cpp/src/IceBox/ServiceManagerI.h index 00a6de8a7b8..cbfa5edd8b7 100644 --- a/cpp/src/IceBox/ServiceManagerI.h +++ b/cpp/src/IceBox/ServiceManagerI.h @@ -1,56 +1,56 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef SERVICE_MANAGER_I_H
-#define SERVICE_MANAGER_I_H
-
-#include <IceBox/IceBox.h>
-#include <Ice/LoggerF.h>
-#include <Ice/CommunicatorF.h>
-#include <Ice/DynamicLibraryF.h>
-#include <map>
-
-namespace IceBox
-{
-
-class ServiceManagerI : public ServiceManager
-{
-public:
-
- ServiceManagerI(::Ice::CommunicatorPtr, int&, char*[]);
- virtual ~ServiceManagerI();
-
- virtual void shutdown(const ::Ice::Current&);
-
- int run();
-
- struct ServiceInfo
- {
- ServicePtr service;
- ::IceInternal::DynamicLibraryPtr library;
- };
-
-private:
-
- ServicePtr init(const std::string&, const std::string&, const ::Ice::StringSeq&);
- void stop(const std::string&);
- void stopAll();
-
- ::Ice::CommunicatorPtr _communicator;
- ::Ice::LoggerPtr _logger;
- std::string _progName; // argv[0]
- ::Ice::StringSeq _argv; // Filtered server argument vector, not including program name
- ::Ice::StringSeq _options; // Server property set converted to command-line options
- std::map<std::string, ServiceInfo> _services;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef SERVICE_MANAGER_I_H +#define SERVICE_MANAGER_I_H + +#include <IceBox/IceBox.h> +#include <Ice/LoggerF.h> +#include <Ice/CommunicatorF.h> +#include <Ice/DynamicLibraryF.h> +#include <map> + +namespace IceBox +{ + +class ServiceManagerI : public ServiceManager +{ +public: + + ServiceManagerI(::Ice::CommunicatorPtr, int&, char*[]); + virtual ~ServiceManagerI(); + + virtual void shutdown(const ::Ice::Current&); + + int run(); + + struct ServiceInfo + { + ServicePtr service; + ::IceInternal::DynamicLibraryPtr library; + }; + +private: + + ServicePtr init(const std::string&, const std::string&, const ::Ice::StringSeq&); + void stop(const std::string&); + void stopAll(); + + ::Ice::CommunicatorPtr _communicator; + ::Ice::LoggerPtr _logger; + std::string _progName; // argv[0] + ::Ice::StringSeq _argv; // Filtered server argument vector, not including program name + ::Ice::StringSeq _options; // Server property set converted to command-line options + std::map<std::string, ServiceInfo> _services; +}; + +} + +#endif diff --git a/cpp/src/IcePack/Activator.h b/cpp/src/IcePack/Activator.h index 764d3f85839..c5bb6943c1b 100644 --- a/cpp/src/IcePack/Activator.h +++ b/cpp/src/IcePack/Activator.h @@ -1,55 +1,55 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PACK_ACTIVATOR_H
-#define ICE_PACK_ACTIVATOR_H
-
-#include <IceUtil/Thread.h>
-
-namespace IcePack
-{
-
-struct ServerDescription;
-
-class Activator : public IceUtil::Thread, public IceUtil::Mutex
-{
-public:
-
- Activator(const Ice::CommunicatorPtr&);
- virtual ~Activator();
-
- virtual void run();
- void destroy();
- bool activate(const IcePack::ServerDescription&);
-
-private:
-
- void terminationListener();
- void clearInterrupt();
- void setInterrupt();
-
- struct Process
- {
- pid_t pid;
- int fd;
- };
-
- Ice::CommunicatorPtr _communicator;
- std::map<std::string, Process> _processes;
- bool _destroy;
- int _fdIntrRead;
- int _fdIntrWrite;
-};
-
-typedef IceUtil::Handle<Activator> ActivatorPtr;
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_ACTIVATOR_H +#define ICE_PACK_ACTIVATOR_H + +#include <IceUtil/Thread.h> + +namespace IcePack +{ + +struct ServerDescription; + +class Activator : public IceUtil::Thread, public IceUtil::Mutex +{ +public: + + Activator(const Ice::CommunicatorPtr&); + virtual ~Activator(); + + virtual void run(); + void destroy(); + bool activate(const IcePack::ServerDescription&); + +private: + + void terminationListener(); + void clearInterrupt(); + void setInterrupt(); + + struct Process + { + pid_t pid; + int fd; + }; + + Ice::CommunicatorPtr _communicator; + std::map<std::string, Process> _processes; + bool _destroy; + int _fdIntrRead; + int _fdIntrWrite; +}; + +typedef IceUtil::Handle<Activator> ActivatorPtr; + +} + +#endif diff --git a/cpp/src/IcePack/AdminI.h b/cpp/src/IcePack/AdminI.h index 92d9c3e0fd8..6c000d2cbcc 100644 --- a/cpp/src/IcePack/AdminI.h +++ b/cpp/src/IcePack/AdminI.h @@ -1,38 +1,38 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PACK_ADMIN_I_H
-#define ICE_PACK_ADMIN_I_H
-
-#include <IcePack/Admin.h>
-
-namespace IcePack
-{
-
-class AdminI : public Admin, public IceUtil::Mutex
-{
-public:
-
- AdminI(const Ice::CommunicatorPtr&);
-
- virtual void add(const ServerDescription&, const Ice::Current&);
- virtual void remove(const Ice::Identity&, const Ice::Current&);
- virtual ServerDescription find(const Ice::Identity&, const Ice::Current&);
- virtual ServerDescriptions getAll(const Ice::Current&);
- virtual void shutdown(const Ice::Current&);
-
-private:
-
- Ice::CommunicatorPtr _communicator;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_ADMIN_I_H +#define ICE_PACK_ADMIN_I_H + +#include <IcePack/Admin.h> + +namespace IcePack +{ + +class AdminI : public Admin, public IceUtil::Mutex +{ +public: + + AdminI(const Ice::CommunicatorPtr&); + + virtual void add(const ServerDescription&, const Ice::Current&); + virtual void remove(const Ice::Identity&, const Ice::Current&); + virtual ServerDescription find(const Ice::Identity&, const Ice::Current&); + virtual ServerDescriptions getAll(const Ice::Current&); + virtual void shutdown(const Ice::Current&); + +private: + + Ice::CommunicatorPtr _communicator; +}; + +} + +#endif diff --git a/cpp/src/IcePack/Forward.h b/cpp/src/IcePack/Forward.h index 3c73b5f10d3..ac2f2646238 100644 --- a/cpp/src/IcePack/Forward.h +++ b/cpp/src/IcePack/Forward.h @@ -1,46 +1,46 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PACK_FORWARD_H
-#define ICE_PACK_FORWARD_H
-
-#include <IcePack/AdminF.h>
-#ifndef _WIN32
-# include <IcePack/Activator.h>
-#endif
-
-namespace IcePack
-{
-
-class Forward : public Ice::ServantLocator
-{
-public:
-
- Forward(const Ice::CommunicatorPtr& communicator, const AdminPtr&);
- virtual ~Forward();
-
- virtual Ice::ObjectPtr locate(const Ice::ObjectAdapterPtr&, const Ice::Current&, Ice::LocalObjectPtr&);
- virtual void finished(const Ice::ObjectAdapterPtr&, const Ice::Current&,
- const Ice::ObjectPtr&, const Ice::LocalObjectPtr&);
- virtual void deactivate();
-
-private:
-
- Ice::CommunicatorPtr _communicator;
- AdminPtr _admin;
-#ifndef _WIN32
- ActivatorPtr _activator;
- int _waitTime;
-#endif
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_FORWARD_H +#define ICE_PACK_FORWARD_H + +#include <IcePack/AdminF.h> +#ifndef _WIN32 +# include <IcePack/Activator.h> +#endif + +namespace IcePack +{ + +class Forward : public Ice::ServantLocator +{ +public: + + Forward(const Ice::CommunicatorPtr& communicator, const AdminPtr&); + virtual ~Forward(); + + virtual Ice::ObjectPtr locate(const Ice::ObjectAdapterPtr&, const Ice::Current&, Ice::LocalObjectPtr&); + virtual void finished(const Ice::ObjectAdapterPtr&, const Ice::Current&, + const Ice::ObjectPtr&, const Ice::LocalObjectPtr&); + virtual void deactivate(); + +private: + + Ice::CommunicatorPtr _communicator; + AdminPtr _admin; +#ifndef _WIN32 + ActivatorPtr _activator; + int _waitTime; +#endif +}; + +} + +#endif diff --git a/cpp/src/IcePack/Parser.h b/cpp/src/IcePack/Parser.h index 3d284a203c4..cbb3fb058d0 100644 --- a/cpp/src/IcePack/Parser.h +++ b/cpp/src/IcePack/Parser.h @@ -1,107 +1,107 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PACK_PARSER_H
-#define ICE_PACK_PARSER_H
-
-#include <IceUtil/Handle.h>
-#include <IcePack/Admin.h>
-#include <list>
-
-#ifdef _WIN32
-# include <io.h>
-# define isatty _isatty
-# define fileno _fileno
-// '_isatty' : inconsistent dll linkage. dllexport assumed.
-# pragma warning( disable : 4273 )
-#endif
-
-//
-// Stuff for flex and bison
-//
-
-#define YYSTYPE std::list<std::string>
-#define YY_DECL int yylex(YYSTYPE* yylvalp)
-YY_DECL;
-int yyparse();
-
-//
-// I must set the initial stack depth to the maximum stack depth to
-// disable bison stack resizing. The bison stack resizing routines use
-// simple malloc/alloc/memcpy calls, which do not work for the
-// YYSTYPE, since YYSTYPE is a C++ type, with constructor, destructor,
-// assignment operator, etc.
-//
-#define YYMAXDEPTH 20000 // 20000 should suffice. Bison default is 10000 as maximum.
-#define YYINITDEPTH YYMAXDEPTH // Initial depth is set to max depth, for the reasons described above.
-
-//
-// Newer bison versions allow to disable stack resizing by defining
-// yyoverflow.
-//
-#define yyoverflow(a, b, c, d, e, f) yyerror(a)
-
-namespace IcePack
-{
-
-class Parser;
-typedef ::IceUtil::Handle<Parser> ParserPtr;
-
-}
-
-namespace IcePack
-{
-
-class Parser : public ::IceUtil::SimpleShared
-{
-public:
-
- static ParserPtr createParser(const Ice::CommunicatorPtr&, const IcePack::AdminPrx&);
-
- void usage();
-
- void add(const std::list<std::string>&);
- void remove(const std::list<std::string>&);
- void listAll();
- void shutdown();
-
- void getInput(char*, int&, int);
- void nextLine();
- void continueLine();
- char* getPrompt();
- void scanPosition(const char*);
-
- void error(const char*);
- void error(const std::string&);
-
- void warning(const char*);
- void warning(const std::string&);
-
- int parse(FILE*, bool);
- int parse(const std::string&, bool);
-
-private:
-
- Parser(const Ice::CommunicatorPtr&, const IcePack::AdminPrx&);
-
- std::string _commands;
- Ice::CommunicatorPtr _communicator;
- IcePack::AdminPrx _admin;
- bool _continue;
- int _errors;
- int _currentLine;
- std::string _currentFile;
-};
-
-extern Parser* parser; // The current parser for bison/flex
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PACK_PARSER_H +#define ICE_PACK_PARSER_H + +#include <IceUtil/Handle.h> +#include <IcePack/Admin.h> +#include <list> + +#ifdef _WIN32 +# include <io.h> +# define isatty _isatty +# define fileno _fileno +// '_isatty' : inconsistent dll linkage. dllexport assumed. +# pragma warning( disable : 4273 ) +#endif + +// +// Stuff for flex and bison +// + +#define YYSTYPE std::list<std::string> +#define YY_DECL int yylex(YYSTYPE* yylvalp) +YY_DECL; +int yyparse(); + +// +// I must set the initial stack depth to the maximum stack depth to +// disable bison stack resizing. The bison stack resizing routines use +// simple malloc/alloc/memcpy calls, which do not work for the +// YYSTYPE, since YYSTYPE is a C++ type, with constructor, destructor, +// assignment operator, etc. +// +#define YYMAXDEPTH 20000 // 20000 should suffice. Bison default is 10000 as maximum. +#define YYINITDEPTH YYMAXDEPTH // Initial depth is set to max depth, for the reasons described above. + +// +// Newer bison versions allow to disable stack resizing by defining +// yyoverflow. +// +#define yyoverflow(a, b, c, d, e, f) yyerror(a) + +namespace IcePack +{ + +class Parser; +typedef ::IceUtil::Handle<Parser> ParserPtr; + +} + +namespace IcePack +{ + +class Parser : public ::IceUtil::SimpleShared +{ +public: + + static ParserPtr createParser(const Ice::CommunicatorPtr&, const IcePack::AdminPrx&); + + void usage(); + + void add(const std::list<std::string>&); + void remove(const std::list<std::string>&); + void listAll(); + void shutdown(); + + void getInput(char*, int&, int); + void nextLine(); + void continueLine(); + char* getPrompt(); + void scanPosition(const char*); + + void error(const char*); + void error(const std::string&); + + void warning(const char*); + void warning(const std::string&); + + int parse(FILE*, bool); + int parse(const std::string&, bool); + +private: + + Parser(const Ice::CommunicatorPtr&, const IcePack::AdminPrx&); + + std::string _commands; + Ice::CommunicatorPtr _communicator; + IcePack::AdminPrx _admin; + bool _continue; + int _errors; + int _currentLine; + std::string _currentFile; +}; + +extern Parser* parser; // The current parser for bison/flex + +} + +#endif diff --git a/cpp/src/IcePack/dummyinclude/unistd.h b/cpp/src/IcePack/dummyinclude/unistd.h index a5868056a35..92d53d10b9b 100644 --- a/cpp/src/IcePack/dummyinclude/unistd.h +++ b/cpp/src/IcePack/dummyinclude/unistd.h @@ -1,4 +1,4 @@ -//
-// Files generated by flex need unistd.h, which is not available on
-// Windows. Thus this dummy file.
-//
+// +// Files generated by flex need unistd.h, which is not available on +// Windows. Thus this dummy file. +// diff --git a/cpp/src/IcePatch/FileLocator.h b/cpp/src/IcePatch/FileLocator.h index c8290ad761a..83c77f15b0a 100644 --- a/cpp/src/IcePatch/FileLocator.h +++ b/cpp/src/IcePatch/FileLocator.h @@ -1,41 +1,41 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PATCH_FILE_LOCATOR_H
-#define ICE_PATCH_FILE_LOCATOR_H
-
-#include <Ice/Ice.h>
-#include <IcePatch/IcePatch.h>
-
-namespace IcePatch
-{
-
-class FileLocator: virtual public Ice::ServantLocator
-{
-public:
-
- FileLocator(const Ice::ObjectAdapterPtr&);
-
- virtual Ice::ObjectPtr locate(const Ice::ObjectAdapterPtr&, const Ice::Current&, Ice::LocalObjectPtr&);
-
- virtual void finished(const Ice::ObjectAdapterPtr&, const Ice::Current&, const Ice::ObjectPtr&,
- const Ice::LocalObjectPtr&);
-
- virtual void deactivate();
-
-private:
-
- DirectoryPtr _directory; // The stateless default servant for all directories.
- RegularPtr _regular; // The stateless default servant for all regular files.
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PATCH_FILE_LOCATOR_H +#define ICE_PATCH_FILE_LOCATOR_H + +#include <Ice/Ice.h> +#include <IcePatch/IcePatch.h> + +namespace IcePatch +{ + +class FileLocator: virtual public Ice::ServantLocator +{ +public: + + FileLocator(const Ice::ObjectAdapterPtr&); + + virtual Ice::ObjectPtr locate(const Ice::ObjectAdapterPtr&, const Ice::Current&, Ice::LocalObjectPtr&); + + virtual void finished(const Ice::ObjectAdapterPtr&, const Ice::Current&, const Ice::ObjectPtr&, + const Ice::LocalObjectPtr&); + + virtual void deactivate(); + +private: + + DirectoryPtr _directory; // The stateless default servant for all directories. + RegularPtr _regular; // The stateless default servant for all regular files. +}; + +} + +#endif diff --git a/cpp/src/IcePatch/IcePatchI.h b/cpp/src/IcePatch/IcePatchI.h index fb9f636eca9..040b7d9e9c8 100644 --- a/cpp/src/IcePatch/IcePatchI.h +++ b/cpp/src/IcePatch/IcePatchI.h @@ -1,62 +1,62 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_PATCH_ICE_PATCH_I_H
-#define ICE_PATCH_ICE_PATCH_I_H
-
-#include <Ice/Ice.h>
-#include <IceUtil/RWRecMutex.h>
-#include <IcePatch/IcePatch.h>
-
-namespace IcePatch
-{
-
-class FileI : virtual public File
-{
-public:
-
- FileI(const Ice::ObjectAdapterPtr&);
-
-protected:
-
- Ice::ObjectAdapterPtr _adapter;
- Ice::LoggerPtr _logger;
- Ice::Int _traceLevel;
- IceUtil::Time _busyTimeout;
- static IceUtil::RWRecMutex _globalMutex;
-};
-
-class DirectoryI : virtual public Directory,
- virtual public FileI
-{
-public:
-
- DirectoryI(const Ice::ObjectAdapterPtr&);
-
- virtual FileDescPtr describe(const Ice::Current&);
- virtual FileDescSeq getContents(const Ice::Current&);
-};
-
-class RegularI : virtual public Regular,
- virtual public FileI
-{
-public:
-
- RegularI(const Ice::ObjectAdapterPtr&);
-
- virtual FileDescPtr describe(const Ice::Current&);
- virtual Ice::Int getBZ2Size(const Ice::Current&);
- virtual Ice::ByteSeq getBZ2(Ice::Int, Ice::Int, const Ice::Current&);
- virtual Ice::ByteSeq getBZ2MD5(Ice::Int, const Ice::Current&);
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_PATCH_ICE_PATCH_I_H +#define ICE_PATCH_ICE_PATCH_I_H + +#include <Ice/Ice.h> +#include <IceUtil/RWRecMutex.h> +#include <IcePatch/IcePatch.h> + +namespace IcePatch +{ + +class FileI : virtual public File +{ +public: + + FileI(const Ice::ObjectAdapterPtr&); + +protected: + + Ice::ObjectAdapterPtr _adapter; + Ice::LoggerPtr _logger; + Ice::Int _traceLevel; + IceUtil::Time _busyTimeout; + static IceUtil::RWRecMutex _globalMutex; +}; + +class DirectoryI : virtual public Directory, + virtual public FileI +{ +public: + + DirectoryI(const Ice::ObjectAdapterPtr&); + + virtual FileDescPtr describe(const Ice::Current&); + virtual FileDescSeq getContents(const Ice::Current&); +}; + +class RegularI : virtual public Regular, + virtual public FileI +{ +public: + + RegularI(const Ice::ObjectAdapterPtr&); + + virtual FileDescPtr describe(const Ice::Current&); + virtual Ice::Int getBZ2Size(const Ice::Current&); + virtual Ice::ByteSeq getBZ2(Ice::Int, Ice::Int, const Ice::Current&); + virtual Ice::ByteSeq getBZ2MD5(Ice::Int, const Ice::Current&); +}; + +} + +#endif diff --git a/cpp/src/IceSSL/BaseCerts.h b/cpp/src/IceSSL/BaseCerts.h index 86b30e01790..a78823d384c 100644 --- a/cpp/src/IceSSL/BaseCerts.h +++ b/cpp/src/IceSSL/BaseCerts.h @@ -1,68 +1,68 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_BASE_CERTS_H
-#define ICE_SSL_BASE_CERTS_H
-
-#include <IceSSL/CertificateDesc.h>
-
-namespace IceSSL
-{
-
-class BaseCertificates
-{
-public:
-
- BaseCertificates();
- BaseCertificates(CertificateDesc&, CertificateDesc&, DiffieHellmanParamsFile&);
- BaseCertificates(BaseCertificates&);
-
- const CertificateDesc& getRSACert() const;
- const CertificateDesc& getDSACert() const;
-
- const DiffieHellmanParamsFile& getDHParams() const;
-
-protected:
-
- CertificateDesc _rsaCert;
- CertificateDesc _dsaCert;
- DiffieHellmanParamsFile _dhParams;
-};
-
-template<class Stream>
-inline Stream& operator << (Stream& target, const BaseCertificates& baseCerts)
-{
- if(baseCerts.getRSACert().getKeySize() != 0)
- {
- target << "RSA\n{" << std::endl;
- target << baseCerts.getRSACert();
- target << "}\n" << std::endl;
- }
-
- if(baseCerts.getDSACert().getKeySize() != 0)
- {
- target << "DSA\n{" << std::endl;
- target << baseCerts.getDSACert();
- target << "}\n" << std::endl;
- }
-
- if(baseCerts.getDHParams().getKeySize() != 0)
- {
- target << "DH\n{" << std::endl;
- target << baseCerts.getDHParams();
- target << "}\n" << std::endl;
- }
-
- return target;
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_BASE_CERTS_H +#define ICE_SSL_BASE_CERTS_H + +#include <IceSSL/CertificateDesc.h> + +namespace IceSSL +{ + +class BaseCertificates +{ +public: + + BaseCertificates(); + BaseCertificates(CertificateDesc&, CertificateDesc&, DiffieHellmanParamsFile&); + BaseCertificates(BaseCertificates&); + + const CertificateDesc& getRSACert() const; + const CertificateDesc& getDSACert() const; + + const DiffieHellmanParamsFile& getDHParams() const; + +protected: + + CertificateDesc _rsaCert; + CertificateDesc _dsaCert; + DiffieHellmanParamsFile _dhParams; +}; + +template<class Stream> +inline Stream& operator << (Stream& target, const BaseCertificates& baseCerts) +{ + if(baseCerts.getRSACert().getKeySize() != 0) + { + target << "RSA\n{" << std::endl; + target << baseCerts.getRSACert(); + target << "}\n" << std::endl; + } + + if(baseCerts.getDSACert().getKeySize() != 0) + { + target << "DSA\n{" << std::endl; + target << baseCerts.getDSACert(); + target << "}\n" << std::endl; + } + + if(baseCerts.getDHParams().getKeySize() != 0) + { + target << "DH\n{" << std::endl; + target << baseCerts.getDHParams(); + target << "}\n" << std::endl; + } + + return target; +} + +} + +#endif diff --git a/cpp/src/IceSSL/CertificateAuthority.h b/cpp/src/IceSSL/CertificateAuthority.h index 058c9a6b02d..5447aa2140e 100644 --- a/cpp/src/IceSSL/CertificateAuthority.h +++ b/cpp/src/IceSSL/CertificateAuthority.h @@ -1,41 +1,41 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CERTIFICATE_AUTHORITY_H
-#define ICE_SSL_CERTIFICATE_AUTHORITY_H
-
-#include <IceUtil/Config.h>
-
-namespace IceSSL
-{
-
-class CertificateAuthority
-{
-public:
-
- CertificateAuthority();
- CertificateAuthority(std::string&, std::string&);
- CertificateAuthority(CertificateAuthority&);
-
- void setCAFileName(std::string&);
- void setCAPath(std::string&);
-
- const std::string& getCAFileName() const;
- const std::string& getCAPath() const;
-
-private:
-
- std::string _fileName;
- std::string _path;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CERTIFICATE_AUTHORITY_H +#define ICE_SSL_CERTIFICATE_AUTHORITY_H + +#include <IceUtil/Config.h> + +namespace IceSSL +{ + +class CertificateAuthority +{ +public: + + CertificateAuthority(); + CertificateAuthority(std::string&, std::string&); + CertificateAuthority(CertificateAuthority&); + + void setCAFileName(std::string&); + void setCAPath(std::string&); + + const std::string& getCAFileName() const; + const std::string& getCAPath() const; + +private: + + std::string _fileName; + std::string _path; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/CertificateDesc.h b/cpp/src/IceSSL/CertificateDesc.h index d7e758bfd66..061af0266a1 100644 --- a/cpp/src/IceSSL/CertificateDesc.h +++ b/cpp/src/IceSSL/CertificateDesc.h @@ -1,119 +1,119 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CERTIFICATE_DESC_H
-#define ICE_SSL_CERTIFICATE_DESC_H
-
-#include <IceUtil/Config.h>
-#include <openssl/ssl.h>
-#include <vector>
-
-namespace IceSSL
-{
-
-class CertificateFile
-{
-public:
-
- CertificateFile();
- CertificateFile(const std::string&, const int);
- CertificateFile(const CertificateFile&);
-
- std::string getFileName() const;
- int getEncoding() const;
-
-protected:
-
- std::string _fileName;
- int _encoding;
-};
-
-class DiffieHellmanParamsFile : public CertificateFile
-{
-public:
-
- DiffieHellmanParamsFile();
- DiffieHellmanParamsFile(const int, const std::string&, const int);
- DiffieHellmanParamsFile(const DiffieHellmanParamsFile&);
-
- int getKeySize() const;
-
-protected:
-
- int _keySize;
-};
-
-class CertificateDesc
-{
-public:
-
- CertificateDesc();
- CertificateDesc(const int, const CertificateFile&, const CertificateFile&);
- CertificateDesc(const CertificateDesc&);
-
- int getKeySize() const;
-
- const CertificateFile& getPublic() const;
- const CertificateFile& getPrivate() const;
-
-protected:
-
- int _keySize;
- CertificateFile _public;
- CertificateFile _private;
-};
-
-typedef std::vector<CertificateDesc> RSAVector;
-typedef std::vector<CertificateDesc> DSAVector;
-typedef std::vector<DiffieHellmanParamsFile> DHVector;
-
-template<class Stream>
-inline Stream& operator << (Stream& target, const CertificateFile& certFile)
-{
- if(certFile.getEncoding() == SSL_FILETYPE_PEM)
- {
- target << "[PEM]: " << certFile.getFileName();
- }
- else if(certFile.getEncoding() == SSL_FILETYPE_ASN1)
- {
- target << "[ASN1]: " << certFile.getFileName();
- }
-
- return target;
-}
-
-template<class Stream>
-inline Stream& operator << (Stream& target, const DiffieHellmanParamsFile& dhParams)
-{
- if(dhParams.getKeySize() != 0)
- {
- target << "Keysize: " << dhParams.getKeySize() << std::endl;
- target << "File: " << ((CertificateFile&)dhParams) << std::endl;
- }
-
- return target;
-}
-
-template<class Stream>
-inline Stream& operator << (Stream& target, const CertificateDesc& certDesc)
-{
- if(certDesc.getKeySize() != 0)
- {
- target << "Keysize: " << certDesc.getKeySize() << std::endl;
- target << "Public: " << certDesc.getPublic() << std::endl;
- target << "Private: " << certDesc.getPrivate() << std::endl;
- }
-
- return target;
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CERTIFICATE_DESC_H +#define ICE_SSL_CERTIFICATE_DESC_H + +#include <IceUtil/Config.h> +#include <openssl/ssl.h> +#include <vector> + +namespace IceSSL +{ + +class CertificateFile +{ +public: + + CertificateFile(); + CertificateFile(const std::string&, const int); + CertificateFile(const CertificateFile&); + + std::string getFileName() const; + int getEncoding() const; + +protected: + + std::string _fileName; + int _encoding; +}; + +class DiffieHellmanParamsFile : public CertificateFile +{ +public: + + DiffieHellmanParamsFile(); + DiffieHellmanParamsFile(const int, const std::string&, const int); + DiffieHellmanParamsFile(const DiffieHellmanParamsFile&); + + int getKeySize() const; + +protected: + + int _keySize; +}; + +class CertificateDesc +{ +public: + + CertificateDesc(); + CertificateDesc(const int, const CertificateFile&, const CertificateFile&); + CertificateDesc(const CertificateDesc&); + + int getKeySize() const; + + const CertificateFile& getPublic() const; + const CertificateFile& getPrivate() const; + +protected: + + int _keySize; + CertificateFile _public; + CertificateFile _private; +}; + +typedef std::vector<CertificateDesc> RSAVector; +typedef std::vector<CertificateDesc> DSAVector; +typedef std::vector<DiffieHellmanParamsFile> DHVector; + +template<class Stream> +inline Stream& operator << (Stream& target, const CertificateFile& certFile) +{ + if(certFile.getEncoding() == SSL_FILETYPE_PEM) + { + target << "[PEM]: " << certFile.getFileName(); + } + else if(certFile.getEncoding() == SSL_FILETYPE_ASN1) + { + target << "[ASN1]: " << certFile.getFileName(); + } + + return target; +} + +template<class Stream> +inline Stream& operator << (Stream& target, const DiffieHellmanParamsFile& dhParams) +{ + if(dhParams.getKeySize() != 0) + { + target << "Keysize: " << dhParams.getKeySize() << std::endl; + target << "File: " << ((CertificateFile&)dhParams) << std::endl; + } + + return target; +} + +template<class Stream> +inline Stream& operator << (Stream& target, const CertificateDesc& certDesc) +{ + if(certDesc.getKeySize() != 0) + { + target << "Keysize: " << certDesc.getKeySize() << std::endl; + target << "Public: " << certDesc.getPublic() << std::endl; + target << "Private: " << certDesc.getPrivate() << std::endl; + } + + return target; +} + +} + +#endif diff --git a/cpp/src/IceSSL/ConfigParser.h b/cpp/src/IceSSL/ConfigParser.h index bbe6158ac65..c88201b0019 100644 --- a/cpp/src/IceSSL/ConfigParser.h +++ b/cpp/src/IceSSL/ConfigParser.h @@ -1,89 +1,89 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONFIG_H
-#define ICE_SSL_CONFIG_H
-
-#include <Ice/LoggerF.h>
-#include <IceSSL/CertificateDesc.h>
-#include <IceSSL/GeneralConfig.h>
-#include <IceSSL/CertificateAuthority.h>
-#include <IceSSL/BaseCerts.h>
-#include <IceSSL/TempCerts.h>
-#include <IceSSL/TraceLevelsF.h>
-#include <dom/DOM.hpp>
-
-namespace IceSSL
-{
-
-class ConfigParser
-{
-public:
-
- // Construction based on the indicated config file, or config file and
- // certificate path.
- ConfigParser(const std::string&);
- ConfigParser(const std::string&, const std::string&);
- ~ConfigParser();
-
- // Performs a complete parsing of the file.
- void process();
-
- // Loads the Client/Server portions of the config file.
- bool loadClientConfig(GeneralConfig&, CertificateAuthority&, BaseCertificates&);
- bool loadServerConfig(GeneralConfig&, CertificateAuthority&, BaseCertificates&, TempCertificates&);
-
- void setTrace(const TraceLevelsPtr&);
- bool isTraceSet() const;
-
- void setLogger(const Ice::LoggerPtr&);
- bool isLoggerSet() const;
-
-private:
-
- DOM_Node _root;
- std::string _configFile;
- std::string _configPath;
-
- TraceLevelsPtr _traceLevels;
- Ice::LoggerPtr _logger;
-
- // Parse tree walking utility methods.
- void popRoot(std::string&, std::string&, std::string&);
- DOM_Node find(std::string&);
- DOM_Node find(DOM_Node, std::string&);
-
- // Loading of the base elements of the file.
- void getGeneral(DOM_Node, GeneralConfig&);
- void getCertAuth(DOM_Node, CertificateAuthority&);
- void getBaseCerts(DOM_Node, BaseCertificates&);
- void getTempCerts(DOM_Node, TempCertificates&);
-
- // Loading of temporary certificates/params (Ephemeral Keys).
- void loadDHParams(DOM_Node, TempCertificates&);
- void loadRSACert(DOM_Node, TempCertificates&);
-
- // Populate with information from the indicated node in the parse tree.
- void getCert(DOM_Node, CertificateDesc&);
- void getDHParams(DOM_Node, DiffieHellmanParamsFile&);
-
- // Populate a certificate file object, basis of all certificates.
- void loadCertificateFile(DOM_Node, CertificateFile&);
-
- // Parses the certificate encoding format from a string representation
- // to the proper integer value used by the underlying SSL framework.
- int parseEncoding(std::string&);
-
- std::string toString(const DOMString&);
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONFIG_H +#define ICE_SSL_CONFIG_H + +#include <Ice/LoggerF.h> +#include <IceSSL/CertificateDesc.h> +#include <IceSSL/GeneralConfig.h> +#include <IceSSL/CertificateAuthority.h> +#include <IceSSL/BaseCerts.h> +#include <IceSSL/TempCerts.h> +#include <IceSSL/TraceLevelsF.h> +#include <dom/DOM.hpp> + +namespace IceSSL +{ + +class ConfigParser +{ +public: + + // Construction based on the indicated config file, or config file and + // certificate path. + ConfigParser(const std::string&); + ConfigParser(const std::string&, const std::string&); + ~ConfigParser(); + + // Performs a complete parsing of the file. + void process(); + + // Loads the Client/Server portions of the config file. + bool loadClientConfig(GeneralConfig&, CertificateAuthority&, BaseCertificates&); + bool loadServerConfig(GeneralConfig&, CertificateAuthority&, BaseCertificates&, TempCertificates&); + + void setTrace(const TraceLevelsPtr&); + bool isTraceSet() const; + + void setLogger(const Ice::LoggerPtr&); + bool isLoggerSet() const; + +private: + + DOM_Node _root; + std::string _configFile; + std::string _configPath; + + TraceLevelsPtr _traceLevels; + Ice::LoggerPtr _logger; + + // Parse tree walking utility methods. + void popRoot(std::string&, std::string&, std::string&); + DOM_Node find(std::string&); + DOM_Node find(DOM_Node, std::string&); + + // Loading of the base elements of the file. + void getGeneral(DOM_Node, GeneralConfig&); + void getCertAuth(DOM_Node, CertificateAuthority&); + void getBaseCerts(DOM_Node, BaseCertificates&); + void getTempCerts(DOM_Node, TempCertificates&); + + // Loading of temporary certificates/params (Ephemeral Keys). + void loadDHParams(DOM_Node, TempCertificates&); + void loadRSACert(DOM_Node, TempCertificates&); + + // Populate with information from the indicated node in the parse tree. + void getCert(DOM_Node, CertificateDesc&); + void getDHParams(DOM_Node, DiffieHellmanParamsFile&); + + // Populate a certificate file object, basis of all certificates. + void loadCertificateFile(DOM_Node, CertificateFile&); + + // Parses the certificate encoding format from a string representation + // to the proper integer value used by the underlying SSL framework. + int parseEncoding(std::string&); + + std::string toString(const DOMString&); +}; + +} + +#endif diff --git a/cpp/src/IceSSL/ConfigParserErrorReporter.h b/cpp/src/IceSSL/ConfigParserErrorReporter.h index 192917fd2d8..2b94b4c1d74 100644 --- a/cpp/src/IceSSL/ConfigParserErrorReporter.h +++ b/cpp/src/IceSSL/ConfigParserErrorReporter.h @@ -1,63 +1,63 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONFIG_ERROR_REPORTER_H
-#define ICE_SSL_CONFIG_ERROR_REPORTER_H
-
-#include <Ice/LoggerF.h>
-#include <IceSSL/TraceLevelsF.h>
-#include <util/XercesDefs.hpp>
-#include <dom/DOMString.hpp>
-#include <sax/ErrorHandler.hpp>
-
-namespace IceSSL
-{
-
-class ConfigParserErrorReporter : public ErrorHandler, public IceUtil::Shared
-{
-public:
-
- ConfigParserErrorReporter(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&);
- ~ConfigParserErrorReporter();
-
- // Implementation of the error handler interface.
- void warning(const SAXParseException& toCatch);
- void error(const SAXParseException& toCatch);
- void fatalError(const SAXParseException& toCatch);
- void resetErrors();
-
- bool getSawErrors() const;
- std::string getErrors() const;
-
-private:
-
- IceSSL::TraceLevelsPtr _traceLevels;
- Ice::LoggerPtr _logger;
-
- // Any errors that are encountered will be output to this stream.
- std::ostringstream _errors;
- int _errorCount;
-};
-
-typedef IceInternal::Handle<ConfigParserErrorReporter> ConfigParserErrorReporterPtr;
-
-std::ostream& operator << (std::ostream& target, const DOMString& s);
-
-}
-
-namespace IceInternal
-{
-
-void incRef(::IceSSL::ConfigParserErrorReporter*);
-void decRef(::IceSSL::ConfigParserErrorReporter*);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONFIG_ERROR_REPORTER_H +#define ICE_SSL_CONFIG_ERROR_REPORTER_H + +#include <Ice/LoggerF.h> +#include <IceSSL/TraceLevelsF.h> +#include <util/XercesDefs.hpp> +#include <dom/DOMString.hpp> +#include <sax/ErrorHandler.hpp> + +namespace IceSSL +{ + +class ConfigParserErrorReporter : public ErrorHandler, public IceUtil::Shared +{ +public: + + ConfigParserErrorReporter(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&); + ~ConfigParserErrorReporter(); + + // Implementation of the error handler interface. + void warning(const SAXParseException& toCatch); + void error(const SAXParseException& toCatch); + void fatalError(const SAXParseException& toCatch); + void resetErrors(); + + bool getSawErrors() const; + std::string getErrors() const; + +private: + + IceSSL::TraceLevelsPtr _traceLevels; + Ice::LoggerPtr _logger; + + // Any errors that are encountered will be output to this stream. + std::ostringstream _errors; + int _errorCount; +}; + +typedef IceInternal::Handle<ConfigParserErrorReporter> ConfigParserErrorReporterPtr; + +std::ostream& operator << (std::ostream& target, const DOMString& s); + +} + +namespace IceInternal +{ + +void incRef(::IceSSL::ConfigParserErrorReporter*); +void decRef(::IceSSL::ConfigParserErrorReporter*); + +} + +#endif diff --git a/cpp/src/IceSSL/ContextOpenSSL.h b/cpp/src/IceSSL/ContextOpenSSL.h index 0d885c0ffdb..b8933cbb69e 100644 --- a/cpp/src/IceSSL/ContextOpenSSL.h +++ b/cpp/src/IceSSL/ContextOpenSSL.h @@ -1,120 +1,120 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONTEXT_OPENSSL_H
-#define ICE_SSL_CONTEXT_OPENSSL_H
-
-#include <Ice/LoggerF.h>
-#include <Ice/PropertiesF.h>
-#include <Ice/BuiltinSequences.h>
-#include <IceSSL/OpenSSL.h>
-#include <IceSSL/TraceLevelsF.h>
-#include <IceSSL/CertificateVerifierOpenSSL.h>
-#include <IceSSL/GeneralConfig.h>
-#include <IceSSL/CertificateAuthority.h>
-#include <IceSSL/BaseCerts.h>
-#include <IceSSL/TempCerts.h>
-#include <IceSSL/SslConnectionF.h>
-#include <IceSSL/SslConnectionOpenSSLF.h>
-#include <IceSSL/ContextOpenSSLF.h>
-#include <IceSSL/RSAPublicKey.h>
-#include <IceSSL/RSAKeyPairF.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class PluginI;
-
-class Context : public IceUtil::Shared
-{
-public:
-
- virtual ~Context();
-
- bool isConfigured();
-
- virtual void setCertificateVerifier(const CertificateVerifierPtr&);
-
- virtual void addTrustedCertificateBase64(const std::string&);
-
- virtual void addTrustedCertificate(const Ice::ByteSeq&);
-
- virtual void setRSAKeysBase64(const std::string&, const std::string&);
-
- virtual void setRSAKeys(const Ice::ByteSeq&, const Ice::ByteSeq&);
-
- virtual void configure(const IceSSL::GeneralConfig&,
- const IceSSL::CertificateAuthority&,
- const IceSSL::BaseCertificates&);
-
- // Takes a socket fd as the first parameter.
- virtual ::IceSSL::ConnectionPtr createConnection(int, const IceSSL::PluginBaseIPtr&) = 0;
-
-protected:
-
- Context(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&, const Ice::PropertiesPtr&);
-
- SSL_METHOD* getSslMethod(SslProtocol);
- void createContext(SslProtocol);
-
- virtual void loadCertificateAuthority(const CertificateAuthority&);
-
- void setKeyCert(const IceSSL::CertificateDesc&, const std::string&, const std::string&);
-
- void checkKeyCert();
-
- void addTrustedCertificate(const IceSSL::OpenSSL::RSAPublicKey&);
-
- void addKeyCert(const IceSSL::CertificateFile&, const IceSSL::CertificateFile&);
-
- void addKeyCert(const RSAKeyPair&);
-
- void addKeyCert(const Ice::ByteSeq&, const Ice::ByteSeq&);
-
- void addKeyCert(const std::string&, const std::string&);
-
- SSL* createSSLConnection(int);
-
- void connectionSetup(const IceSSL::OpenSSL::ConnectionPtr& connection);
-
- void setCipherList(const std::string&);
-
- void setDHParams(const IceSSL::BaseCertificates&);
-
- IceSSL::TraceLevelsPtr _traceLevels;
- Ice::LoggerPtr _logger;
- Ice::PropertiesPtr _properties;
-
- std::string _rsaPrivateKeyProperty;
- std::string _rsaPublicKeyProperty;
- std::string _dsaPrivateKeyProperty;
- std::string _dsaPublicKeyProperty;
- std::string _caCertificateProperty;
- std::string _handshakeTimeoutProperty;
- std::string _passphraseRetriesProperty;
- std::string _maxPassphraseRetriesDefault;
-
- IceSSL::CertificateVerifierPtr _certificateVerifier;
-
- SSL_CTX* _sslContext;
-
- int _maxPassphraseTries;
-
- friend class IceSSL::OpenSSL::PluginI;
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONTEXT_OPENSSL_H +#define ICE_SSL_CONTEXT_OPENSSL_H + +#include <Ice/LoggerF.h> +#include <Ice/PropertiesF.h> +#include <Ice/BuiltinSequences.h> +#include <IceSSL/OpenSSL.h> +#include <IceSSL/TraceLevelsF.h> +#include <IceSSL/CertificateVerifierOpenSSL.h> +#include <IceSSL/GeneralConfig.h> +#include <IceSSL/CertificateAuthority.h> +#include <IceSSL/BaseCerts.h> +#include <IceSSL/TempCerts.h> +#include <IceSSL/SslConnectionF.h> +#include <IceSSL/SslConnectionOpenSSLF.h> +#include <IceSSL/ContextOpenSSLF.h> +#include <IceSSL/RSAPublicKey.h> +#include <IceSSL/RSAKeyPairF.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class PluginI; + +class Context : public IceUtil::Shared +{ +public: + + virtual ~Context(); + + bool isConfigured(); + + virtual void setCertificateVerifier(const CertificateVerifierPtr&); + + virtual void addTrustedCertificateBase64(const std::string&); + + virtual void addTrustedCertificate(const Ice::ByteSeq&); + + virtual void setRSAKeysBase64(const std::string&, const std::string&); + + virtual void setRSAKeys(const Ice::ByteSeq&, const Ice::ByteSeq&); + + virtual void configure(const IceSSL::GeneralConfig&, + const IceSSL::CertificateAuthority&, + const IceSSL::BaseCertificates&); + + // Takes a socket fd as the first parameter. + virtual ::IceSSL::ConnectionPtr createConnection(int, const IceSSL::PluginBaseIPtr&) = 0; + +protected: + + Context(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&, const Ice::PropertiesPtr&); + + SSL_METHOD* getSslMethod(SslProtocol); + void createContext(SslProtocol); + + virtual void loadCertificateAuthority(const CertificateAuthority&); + + void setKeyCert(const IceSSL::CertificateDesc&, const std::string&, const std::string&); + + void checkKeyCert(); + + void addTrustedCertificate(const IceSSL::OpenSSL::RSAPublicKey&); + + void addKeyCert(const IceSSL::CertificateFile&, const IceSSL::CertificateFile&); + + void addKeyCert(const RSAKeyPair&); + + void addKeyCert(const Ice::ByteSeq&, const Ice::ByteSeq&); + + void addKeyCert(const std::string&, const std::string&); + + SSL* createSSLConnection(int); + + void connectionSetup(const IceSSL::OpenSSL::ConnectionPtr& connection); + + void setCipherList(const std::string&); + + void setDHParams(const IceSSL::BaseCertificates&); + + IceSSL::TraceLevelsPtr _traceLevels; + Ice::LoggerPtr _logger; + Ice::PropertiesPtr _properties; + + std::string _rsaPrivateKeyProperty; + std::string _rsaPublicKeyProperty; + std::string _dsaPrivateKeyProperty; + std::string _dsaPublicKeyProperty; + std::string _caCertificateProperty; + std::string _handshakeTimeoutProperty; + std::string _passphraseRetriesProperty; + std::string _maxPassphraseRetriesDefault; + + IceSSL::CertificateVerifierPtr _certificateVerifier; + + SSL_CTX* _sslContext; + + int _maxPassphraseTries; + + friend class IceSSL::OpenSSL::PluginI; +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/ContextOpenSSLClient.h b/cpp/src/IceSSL/ContextOpenSSLClient.h index 8c4036db20e..263078a53e9 100644 --- a/cpp/src/IceSSL/ContextOpenSSLClient.h +++ b/cpp/src/IceSSL/ContextOpenSSLClient.h @@ -1,44 +1,44 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONTEXT_OPENSSL_CLIENT_H
-#define ICE_SSL_CONTEXT_OPENSSL_CLIENT_H
-
-#include <IceSSL/ContextOpenSSL.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class ClientContext : public Context
-{
-public:
-
- virtual void configure(const IceSSL::GeneralConfig&,
- const IceSSL::CertificateAuthority&,
- const IceSSL::BaseCertificates&);
-
- // Takes a socket fd as the first parameter.
- virtual IceSSL::ConnectionPtr createConnection(int, const IceSSL::PluginBaseIPtr&);
-
-protected:
-
- ClientContext(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&, const Ice::PropertiesPtr&);
-
- friend class IceSSL::OpenSSL::PluginI;
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONTEXT_OPENSSL_CLIENT_H +#define ICE_SSL_CONTEXT_OPENSSL_CLIENT_H + +#include <IceSSL/ContextOpenSSL.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class ClientContext : public Context +{ +public: + + virtual void configure(const IceSSL::GeneralConfig&, + const IceSSL::CertificateAuthority&, + const IceSSL::BaseCertificates&); + + // Takes a socket fd as the first parameter. + virtual IceSSL::ConnectionPtr createConnection(int, const IceSSL::PluginBaseIPtr&); + +protected: + + ClientContext(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&, const Ice::PropertiesPtr&); + + friend class IceSSL::OpenSSL::PluginI; +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/ContextOpenSSLF.h b/cpp/src/IceSSL/ContextOpenSSLF.h index 322c3d0b5aa..fd338e10a58 100644 --- a/cpp/src/IceSSL/ContextOpenSSLF.h +++ b/cpp/src/IceSSL/ContextOpenSSLF.h @@ -1,37 +1,37 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONTEXT_OPENSSL_F_H
-#define ICE_SSL_CONTEXT_OPENSSL_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class Context;
-typedef IceInternal::Handle<Context> ContextPtr;
-
-}
-
-}
-
-namespace IceInternal
-{
-
-void incRef(::IceSSL::OpenSSL::Context*);
-void decRef(::IceSSL::OpenSSL::Context*);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONTEXT_OPENSSL_F_H +#define ICE_SSL_CONTEXT_OPENSSL_F_H + +#include <Ice/Handle.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class Context; +typedef IceInternal::Handle<Context> ContextPtr; + +} + +} + +namespace IceInternal +{ + +void incRef(::IceSSL::OpenSSL::Context*); +void decRef(::IceSSL::OpenSSL::Context*); + +} + +#endif diff --git a/cpp/src/IceSSL/ContextOpenSSLServer.h b/cpp/src/IceSSL/ContextOpenSSLServer.h index 66fa31d13c3..4818d0bfc82 100644 --- a/cpp/src/IceSSL/ContextOpenSSLServer.h +++ b/cpp/src/IceSSL/ContextOpenSSLServer.h @@ -1,46 +1,46 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONTEXT_OPENSSL_SERVER_H
-#define ICE_SSL_CONTEXT_OPENSSL_SERVER_H
-
-#include <IceSSL/ContextOpenSSL.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class ServerContext : public Context
-{
-public:
-
- virtual void configure(const IceSSL::GeneralConfig&,
- const IceSSL::CertificateAuthority&,
- const IceSSL::BaseCertificates&);
-
- // Takes a socket fd as the first parameter.
- virtual IceSSL::ConnectionPtr createConnection(int, const IceSSL::PluginBaseIPtr&);
-
-protected:
-
- ServerContext(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&, const Ice::PropertiesPtr&);
-
- virtual void loadCertificateAuthority(const IceSSL::CertificateAuthority& certAuth);
-
- friend class IceSSL::OpenSSL::PluginI;
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONTEXT_OPENSSL_SERVER_H +#define ICE_SSL_CONTEXT_OPENSSL_SERVER_H + +#include <IceSSL/ContextOpenSSL.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class ServerContext : public Context +{ +public: + + virtual void configure(const IceSSL::GeneralConfig&, + const IceSSL::CertificateAuthority&, + const IceSSL::BaseCertificates&); + + // Takes a socket fd as the first parameter. + virtual IceSSL::ConnectionPtr createConnection(int, const IceSSL::PluginBaseIPtr&); + +protected: + + ServerContext(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&, const Ice::PropertiesPtr&); + + virtual void loadCertificateAuthority(const IceSSL::CertificateAuthority& certAuth); + + friend class IceSSL::OpenSSL::PluginI; +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/Convert.h b/cpp/src/IceSSL/Convert.h index ea5e2452d6f..a4bce9fdbd9 100644 --- a/cpp/src/IceSSL/Convert.h +++ b/cpp/src/IceSSL/Convert.h @@ -1,26 +1,26 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONVERT_H
-#define ICE_SSL_CONVERT_H
-
-#include <Ice/BuiltinSequences.h>
-
-namespace IceSSL
-{
-
-void ucharToByteSeq(unsigned char*, int, Ice::ByteSeq&);
-
-unsigned char* byteSeqToUChar(const Ice::ByteSeq&);
-
-}
-
-#endif
-
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONVERT_H +#define ICE_SSL_CONVERT_H + +#include <Ice/BuiltinSequences.h> + +namespace IceSSL +{ + +void ucharToByteSeq(unsigned char*, int, Ice::ByteSeq&); + +unsigned char* byteSeqToUChar(const Ice::ByteSeq&); + +} + +#endif + diff --git a/cpp/src/IceSSL/DHParams.h b/cpp/src/IceSSL/DHParams.h index 1981d2dae8d..446917a1c09 100644 --- a/cpp/src/IceSSL/DHParams.h +++ b/cpp/src/IceSSL/DHParams.h @@ -1,45 +1,45 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_DH_PARAMS_H
-#define ICE_DH_PARAMS_H
-
-#include <IceUtil/Shared.h>
-#include <IceSSL/DHParamsF.h>
-#include <openssl/ssl.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class DHParams : public IceUtil::Shared
-{
-public:
-
- // Construction from DH Params structure (simple initialization).
- DHParams(DH*);
-
- ~DHParams();
-
- // Get the internal key structure as per the OpenSSL implementation.
- DH* get() const;
-
-private:
-
- DH* _dhParams;
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_DH_PARAMS_H +#define ICE_DH_PARAMS_H + +#include <IceUtil/Shared.h> +#include <IceSSL/DHParamsF.h> +#include <openssl/ssl.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class DHParams : public IceUtil::Shared +{ +public: + + // Construction from DH Params structure (simple initialization). + DHParams(DH*); + + ~DHParams(); + + // Get the internal key structure as per the OpenSSL implementation. + DH* get() const; + +private: + + DH* _dhParams; +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/DHParamsF.h b/cpp/src/IceSSL/DHParamsF.h index b8b8274ec88..abe97b9f4e6 100644 --- a/cpp/src/IceSSL/DHParamsF.h +++ b/cpp/src/IceSSL/DHParamsF.h @@ -1,37 +1,37 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_DH_PARAMS_F_H
-#define ICE_DH_PARAMS_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class DHParams;
-typedef IceInternal::Handle<DHParams> DHParamsPtr;
-
-}
-
-}
-
-namespace IceInternal
-{
-
-void incRef(::IceSSL::OpenSSL::DHParams*);
-void decRef(::IceSSL::OpenSSL::DHParams*);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_DH_PARAMS_F_H +#define ICE_DH_PARAMS_F_H + +#include <Ice/Handle.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class DHParams; +typedef IceInternal::Handle<DHParams> DHParamsPtr; + +} + +} + +namespace IceInternal +{ + +void incRef(::IceSSL::OpenSSL::DHParams*); +void decRef(::IceSSL::OpenSSL::DHParams*); + +} + +#endif diff --git a/cpp/src/IceSSL/DefaultCertificateVerifier.h b/cpp/src/IceSSL/DefaultCertificateVerifier.h index c465cd52be4..05e99716105 100644 --- a/cpp/src/IceSSL/DefaultCertificateVerifier.h +++ b/cpp/src/IceSSL/DefaultCertificateVerifier.h @@ -1,42 +1,42 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_DEFAULT_CERTIFICATE_VERIFIER_H
-#define ICE_SSL_DEFAULT_CERTIFICATE_VERIFIER_H
-
-#include <Ice/LoggerF.h>
-#include <IceSSL/TraceLevelsF.h>
-#include <IceSSL/CertificateVerifierOpenSSL.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class DefaultCertificateVerifier : public IceSSL::OpenSSL::CertificateVerifier
-{
-public:
-
- DefaultCertificateVerifier(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&);
-
- virtual int verify(int, X509_STORE_CTX*, SSL*);
-
-private:
-
- IceSSL::TraceLevelsPtr _traceLevels;
- Ice::LoggerPtr _logger;
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_DEFAULT_CERTIFICATE_VERIFIER_H +#define ICE_SSL_DEFAULT_CERTIFICATE_VERIFIER_H + +#include <Ice/LoggerF.h> +#include <IceSSL/TraceLevelsF.h> +#include <IceSSL/CertificateVerifierOpenSSL.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class DefaultCertificateVerifier : public IceSSL::OpenSSL::CertificateVerifier +{ +public: + + DefaultCertificateVerifier(const IceSSL::TraceLevelsPtr&, const Ice::LoggerPtr&); + + virtual int verify(int, X509_STORE_CTX*, SSL*); + +private: + + IceSSL::TraceLevelsPtr _traceLevels; + Ice::LoggerPtr _logger; +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/GeneralConfig.h b/cpp/src/IceSSL/GeneralConfig.h index 967347adf29..c9bca2c9090 100644 --- a/cpp/src/IceSSL/GeneralConfig.h +++ b/cpp/src/IceSSL/GeneralConfig.h @@ -1,66 +1,66 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_GENERAL_CONFIG_H
-#define ICE_SSL_GENERAL_CONFIG_H
-
-#include <IceSSL/OpenSSL.h>
-
-namespace IceSSL
-{
-
-class GeneralConfig
-{
-public:
-
- GeneralConfig();
-
- SslProtocol getProtocol() const;
- int getVerifyMode() const;
- int getVerifyDepth() const;
-
- std::string getContext() const;
- std::string getCipherList() const;
- std::string getRandomBytesFiles() const;
-
- // General method - it will figure out how to properly parse the data.
- void set(std::string&, std::string&);
-
-protected:
-
- SslProtocol _sslVersion;
-
- int _verifyMode;
- int _verifyDepth;
-
- std::string _context;
- std::string _cipherList;
- std::string _randomBytesFiles;
-
- void parseVersion(std::string&);
- void parseVerifyMode(std::string&);
-};
-
-template<class Stream> inline
-Stream& operator << (Stream& target, const GeneralConfig& generalConfig)
-{
- target << "Protocol: " << generalConfig.getProtocol() << std::endl;
- target << "Verify Mode: " << generalConfig.getVerifyMode() << std::endl;
- target << "Verify Depth: " << generalConfig.getVerifyDepth() << std::endl;
- target << "Context: " << generalConfig.getContext() << std::endl;
- target << "Cipher List: " << generalConfig.getCipherList() << std::endl;
- target << "Random Bytes: " << generalConfig.getRandomBytesFiles() << std::endl;
-
- return target;
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_GENERAL_CONFIG_H +#define ICE_SSL_GENERAL_CONFIG_H + +#include <IceSSL/OpenSSL.h> + +namespace IceSSL +{ + +class GeneralConfig +{ +public: + + GeneralConfig(); + + SslProtocol getProtocol() const; + int getVerifyMode() const; + int getVerifyDepth() const; + + std::string getContext() const; + std::string getCipherList() const; + std::string getRandomBytesFiles() const; + + // General method - it will figure out how to properly parse the data. + void set(std::string&, std::string&); + +protected: + + SslProtocol _sslVersion; + + int _verifyMode; + int _verifyDepth; + + std::string _context; + std::string _cipherList; + std::string _randomBytesFiles; + + void parseVersion(std::string&); + void parseVerifyMode(std::string&); +}; + +template<class Stream> inline +Stream& operator << (Stream& target, const GeneralConfig& generalConfig) +{ + target << "Protocol: " << generalConfig.getProtocol() << std::endl; + target << "Verify Mode: " << generalConfig.getVerifyMode() << std::endl; + target << "Verify Depth: " << generalConfig.getVerifyDepth() << std::endl; + target << "Context: " << generalConfig.getContext() << std::endl; + target << "Cipher List: " << generalConfig.getCipherList() << std::endl; + target << "Random Bytes: " << generalConfig.getRandomBytesFiles() << std::endl; + + return target; +} + +} + +#endif diff --git a/cpp/src/IceSSL/OpenSSL.h b/cpp/src/IceSSL/OpenSSL.h index 463c036247d..978f2c85ce8 100644 --- a/cpp/src/IceSSL/OpenSSL.h +++ b/cpp/src/IceSSL/OpenSSL.h @@ -1,39 +1,39 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_OPENSSL_H
-#define ICE_OPENSSL_H
-
-#include <IceUtil/Config.h>
-#include <openssl/ssl.h>
-
-namespace IceSSL
-{
-
-typedef enum
-{
- NO_SECURITY_TRACE = 0,
- SECURITY_WARNINGS,
- SECURITY_PARSE_WARNINGS,
- SECURITY_PROTOCOL,
- SECURITY_PROTOCOL_DEBUG
-} SecurityTraceLevel;
-
-enum SslProtocol
-{
- SSL_V2 = 1, // Only speak SSLv2
- SSL_V23, // Speak SSLv2 and SSLv3
- SSL_V3, // Only speak SSLv3
- TLS_V1 // Only speak TLSv1
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_OPENSSL_H +#define ICE_OPENSSL_H + +#include <IceUtil/Config.h> +#include <openssl/ssl.h> + +namespace IceSSL +{ + +typedef enum +{ + NO_SECURITY_TRACE = 0, + SECURITY_WARNINGS, + SECURITY_PARSE_WARNINGS, + SECURITY_PROTOCOL, + SECURITY_PROTOCOL_DEBUG +} SecurityTraceLevel; + +enum SslProtocol +{ + SSL_V2 = 1, // Only speak SSLv2 + SSL_V23, // Speak SSLv2 and SSLv3 + SSL_V3, // Only speak SSLv3 + TLS_V1 // Only speak TLSv1 +}; + +} + +#endif diff --git a/cpp/src/IceSSL/OpenSSLJanitors.h b/cpp/src/IceSSL/OpenSSLJanitors.h index 1140d2bc6c7..63802ae50ba 100644 --- a/cpp/src/IceSSL/OpenSSLJanitors.h +++ b/cpp/src/IceSSL/OpenSSLJanitors.h @@ -1,102 +1,102 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_JANITORS_H
-#define ICE_SSL_JANITORS_H
-
-#include <IceUtil/Config.h>
-#include <openssl/ssl.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class RSAJanitor
-{
-public:
-
- RSAJanitor(RSA*);
- ~RSAJanitor();
-
- void clear();
- RSA* get() const;
-
-private:
-
- RSA* _rsa;
-};
-
-class EVP_PKEYJanitor
-{
-public:
-
- EVP_PKEYJanitor(EVP_PKEY*);
- ~EVP_PKEYJanitor();
-
- void clear();
- EVP_PKEY* get() const;
-
-private:
-
- EVP_PKEY* _evp_pkey;
-};
-
-class X509_REQJanitor
-{
-public:
-
- X509_REQJanitor(X509_REQ*);
- ~X509_REQJanitor();
-
- void clear();
- X509_REQ* get() const;
-
-private:
-
- X509_REQ* _x509_req;
-};
-
-class X509Janitor
-{
-public:
-
- X509Janitor(X509*);
- ~X509Janitor();
-
- void clear();
- X509* get() const;
-
-private:
-
- X509* _x509;
-};
-
-class BIOJanitor
-{
-public:
-
- BIOJanitor(BIO*);
- ~BIOJanitor();
-
- void clear();
- BIO* get() const;
-
-private:
-
- BIO* _bio;
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_JANITORS_H +#define ICE_SSL_JANITORS_H + +#include <IceUtil/Config.h> +#include <openssl/ssl.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class RSAJanitor +{ +public: + + RSAJanitor(RSA*); + ~RSAJanitor(); + + void clear(); + RSA* get() const; + +private: + + RSA* _rsa; +}; + +class EVP_PKEYJanitor +{ +public: + + EVP_PKEYJanitor(EVP_PKEY*); + ~EVP_PKEYJanitor(); + + void clear(); + EVP_PKEY* get() const; + +private: + + EVP_PKEY* _evp_pkey; +}; + +class X509_REQJanitor +{ +public: + + X509_REQJanitor(X509_REQ*); + ~X509_REQJanitor(); + + void clear(); + X509_REQ* get() const; + +private: + + X509_REQ* _x509_req; +}; + +class X509Janitor +{ +public: + + X509Janitor(X509*); + ~X509Janitor(); + + void clear(); + X509* get() const; + +private: + + X509* _x509; +}; + +class BIOJanitor +{ +public: + + BIOJanitor(BIO*); + ~BIOJanitor(); + + void clear(); + BIO* get() const; + +private: + + BIO* _bio; +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/OpenSSLPluginI.h b/cpp/src/IceSSL/OpenSSLPluginI.h index d18dfbe3e83..2aac3e8c179 100644 --- a/cpp/src/IceSSL/OpenSSLPluginI.h +++ b/cpp/src/IceSSL/OpenSSLPluginI.h @@ -1,118 +1,118 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_OPENSSL_PLUGIN_I_H
-#define ICE_SSL_OPENSSL_PLUGIN_I_H
-
-#include <IceUtil/RecMutex.h>
-#include <IceSSL/PluginBaseI.h>
-#include <IceSSL/CertificateDesc.h>
-#include <IceSSL/CertificateAuthority.h>
-#include <IceSSL/BaseCerts.h>
-#include <IceSSL/TempCerts.h>
-#include <IceSSL/ContextOpenSSLServer.h>
-#include <IceSSL/ContextOpenSSLClient.h>
-#include <IceSSL/RSAPrivateKeyF.h>
-#include <IceSSL/DHParamsF.h>
-#include <openssl/ssl.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-typedef std::map<int,RSAPrivateKeyPtr> RSAMap;
-typedef std::map<int,DHParamsPtr> DHMap;
-
-typedef std::map<int,CertificateDesc> RSACertMap;
-typedef std::map<int,DiffieHellmanParamsFile> DHParamsMap;
-
-class PluginI : public PluginBaseI
-{
-public:
-
- PluginI(const IceInternal::ProtocolPluginFacadePtr&);
- ~PluginI();
-
- virtual IceSSL::ConnectionPtr createConnection(ContextType, int);
-
- virtual bool isConfigured(ContextType);
- virtual void configure();
- virtual void configure(ContextType);
- virtual void loadConfig(ContextType, const std::string&, const std::string&);
-
- // Returns the desired RSA Key, or creates it if not already created.
- // This is public because the tmpRSACallback must be able to access it.
- RSA* getRSAKey(int, int);
-
- // Returns the desired DH Params. If the Params do not already exist, and the key
- // requested is a 512bit or 1024bit key, we use the compiled-in temporary params.
- // If the key is some other length, we read the desired key, based on length,
- // from a DH Param file.
- // This is public because the tmpDHCallback must be able to access it.
- DH* getDHParams(int, int);
-
- virtual void setCertificateVerifier(ContextType, const IceSSL::CertificateVerifierPtr&);
-
- virtual void addTrustedCertificateBase64(ContextType, const std::string&);
-
- virtual void addTrustedCertificate(ContextType, const Ice::ByteSeq&);
-
- virtual void setRSAKeysBase64(ContextType, const std::string&, const std::string&);
-
- virtual void setRSAKeys(ContextType, const Ice::ByteSeq&, const Ice::ByteSeq&);
-
- virtual IceSSL::CertificateVerifierPtr getDefaultCertVerifier();
-
- virtual IceSSL::CertificateVerifierPtr getSingleCertVerifier(const Ice::ByteSeq&);
-
- virtual void destroy();
-
-private:
-
- ServerContext _serverContext;
- ClientContext _clientContext;
-
- // Mutex to ensure synchronization of calls to configure
- // the contexts and calls to create connections.
- IceUtil::RecMutex _configMutex;
-
- // Keep a cache of all temporary RSA keys.
- RSAMap _tempRSAKeys;
- IceUtil::Mutex _tempRSAKeysMutex;
-
- // Keep a cache of all temporary Diffie-Hellman keys.
- DHMap _tempDHKeys;
- IceUtil::Mutex _tempDHKeysMutex;
-
- // Maps of all temporary keying information.
- // The files themselves will not be loaded until
- // needed.
- RSACertMap _tempRSAFileMap;
- DHParamsMap _tempDHParamsFileMap;
-
- // Flag as to whether the Random Number system has been seeded.
- int _randSeeded;
-
- // Cryptographic Random Number System related routines.
- int seedRand();
- long loadRandFiles(const std::string&);
- void initRandSystem(const std::string&);
-
- // Load the temporary (ephemeral) certificates for Server operations.
- void loadTempCerts(TempCertificates&);
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_OPENSSL_PLUGIN_I_H +#define ICE_SSL_OPENSSL_PLUGIN_I_H + +#include <IceUtil/RecMutex.h> +#include <IceSSL/PluginBaseI.h> +#include <IceSSL/CertificateDesc.h> +#include <IceSSL/CertificateAuthority.h> +#include <IceSSL/BaseCerts.h> +#include <IceSSL/TempCerts.h> +#include <IceSSL/ContextOpenSSLServer.h> +#include <IceSSL/ContextOpenSSLClient.h> +#include <IceSSL/RSAPrivateKeyF.h> +#include <IceSSL/DHParamsF.h> +#include <openssl/ssl.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +typedef std::map<int,RSAPrivateKeyPtr> RSAMap; +typedef std::map<int,DHParamsPtr> DHMap; + +typedef std::map<int,CertificateDesc> RSACertMap; +typedef std::map<int,DiffieHellmanParamsFile> DHParamsMap; + +class PluginI : public PluginBaseI +{ +public: + + PluginI(const IceInternal::ProtocolPluginFacadePtr&); + ~PluginI(); + + virtual IceSSL::ConnectionPtr createConnection(ContextType, int); + + virtual bool isConfigured(ContextType); + virtual void configure(); + virtual void configure(ContextType); + virtual void loadConfig(ContextType, const std::string&, const std::string&); + + // Returns the desired RSA Key, or creates it if not already created. + // This is public because the tmpRSACallback must be able to access it. + RSA* getRSAKey(int, int); + + // Returns the desired DH Params. If the Params do not already exist, and the key + // requested is a 512bit or 1024bit key, we use the compiled-in temporary params. + // If the key is some other length, we read the desired key, based on length, + // from a DH Param file. + // This is public because the tmpDHCallback must be able to access it. + DH* getDHParams(int, int); + + virtual void setCertificateVerifier(ContextType, const IceSSL::CertificateVerifierPtr&); + + virtual void addTrustedCertificateBase64(ContextType, const std::string&); + + virtual void addTrustedCertificate(ContextType, const Ice::ByteSeq&); + + virtual void setRSAKeysBase64(ContextType, const std::string&, const std::string&); + + virtual void setRSAKeys(ContextType, const Ice::ByteSeq&, const Ice::ByteSeq&); + + virtual IceSSL::CertificateVerifierPtr getDefaultCertVerifier(); + + virtual IceSSL::CertificateVerifierPtr getSingleCertVerifier(const Ice::ByteSeq&); + + virtual void destroy(); + +private: + + ServerContext _serverContext; + ClientContext _clientContext; + + // Mutex to ensure synchronization of calls to configure + // the contexts and calls to create connections. + IceUtil::RecMutex _configMutex; + + // Keep a cache of all temporary RSA keys. + RSAMap _tempRSAKeys; + IceUtil::Mutex _tempRSAKeysMutex; + + // Keep a cache of all temporary Diffie-Hellman keys. + DHMap _tempDHKeys; + IceUtil::Mutex _tempDHKeysMutex; + + // Maps of all temporary keying information. + // The files themselves will not be loaded until + // needed. + RSACertMap _tempRSAFileMap; + DHParamsMap _tempDHParamsFileMap; + + // Flag as to whether the Random Number system has been seeded. + int _randSeeded; + + // Cryptographic Random Number System related routines. + int seedRand(); + long loadRandFiles(const std::string&); + void initRandSystem(const std::string&); + + // Load the temporary (ephemeral) certificates for Server operations. + void loadTempCerts(TempCertificates&); +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/OpenSSLUtils.h b/cpp/src/IceSSL/OpenSSLUtils.h index 7dc57afee56..9e75f8fac02 100644 --- a/cpp/src/IceSSL/OpenSSLUtils.h +++ b/cpp/src/IceSSL/OpenSSLUtils.h @@ -1,52 +1,52 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#include <IceUtil/Config.h>
-#include <openssl/ssl.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-std::string getGeneralizedTime(ASN1_GENERALIZEDTIME*);
-
-std::string getUTCTime(ASN1_UTCTIME*);
-
-std::string getASN1time(ASN1_TIME*);
-
-DH* loadDHParam(const char*);
-
-DH* getTempDH(unsigned char*, int, unsigned char*, int);
-
-DH* getTempDH512();
-DH* getTempDH1024();
-DH* getTempDH2048();
-DH* getTempDH4096();
-
-std::string sslGetErrors();
-
-}
-
-}
-
-extern "C"
-{
-
-RSA* tmpRSACallback(SSL*, int, int);
-
-DH* tmpDHCallback(SSL*, int, int);
-
-int verifyCallback(int, X509_STORE_CTX*);
-
-int passwordCallback(char*, int, int, void*);
-
-}
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#include <IceUtil/Config.h> +#include <openssl/ssl.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +std::string getGeneralizedTime(ASN1_GENERALIZEDTIME*); + +std::string getUTCTime(ASN1_UTCTIME*); + +std::string getASN1time(ASN1_TIME*); + +DH* loadDHParam(const char*); + +DH* getTempDH(unsigned char*, int, unsigned char*, int); + +DH* getTempDH512(); +DH* getTempDH1024(); +DH* getTempDH2048(); +DH* getTempDH4096(); + +std::string sslGetErrors(); + +} + +} + +extern "C" +{ + +RSA* tmpRSACallback(SSL*, int, int); + +DH* tmpDHCallback(SSL*, int, int); + +int verifyCallback(int, X509_STORE_CTX*); + +int passwordCallback(char*, int, int, void*); + +} diff --git a/cpp/src/IceSSL/PluginBaseI.h b/cpp/src/IceSSL/PluginBaseI.h index 9f9a180003d..42b6a6d1aa2 100644 --- a/cpp/src/IceSSL/PluginBaseI.h +++ b/cpp/src/IceSSL/PluginBaseI.h @@ -1,71 +1,71 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_PLUGIN_I_H
-#define ICE_SSL_PLUGIN_I_H
-
-#include <Ice/LoggerF.h>
-#include <Ice/PropertiesF.h>
-#include <Ice/ProtocolPluginFacadeF.h>
-#include <IceSSL/Plugin.h>
-#include <IceSSL/PluginBaseIF.h>
-#include <IceSSL/SslConnectionF.h>
-#include <IceSSL/CertificateVerifierF.h>
-#include <IceSSL/TraceLevelsF.h>
-
-namespace IceSSL
-{
-
-class PluginBaseI : public IceSSL::Plugin
-{
-public:
-
- virtual ConnectionPtr createConnection(ContextType, int) = 0;
-
- virtual bool isConfigured(ContextType) = 0;
-
- virtual void configure() = 0;
-
- virtual void configure(ContextType) = 0;
-
- virtual void loadConfig(ContextType, const ::std::string&, const ::std::string&) = 0;
-
- virtual void setCertificateVerifier(ContextType, const CertificateVerifierPtr&) = 0;
-
- virtual void addTrustedCertificateBase64(ContextType, const std::string&) = 0;
-
- virtual void addTrustedCertificate(ContextType, const Ice::ByteSeq&) = 0;
-
- virtual void setRSAKeysBase64(ContextType, const std::string&, const std::string&) = 0;
-
- virtual void setRSAKeys(ContextType, const ::Ice::ByteSeq&, const ::Ice::ByteSeq&) = 0;
-
- TraceLevelsPtr getTraceLevels() const;
-
- Ice::LoggerPtr getLogger() const;
-
- Ice::PropertiesPtr getProperties() const;
-
- IceInternal::ProtocolPluginFacadePtr getProtocolPluginFacade() const;
-
-protected:
-
- PluginBaseI(const IceInternal::ProtocolPluginFacadePtr&);
- virtual ~PluginBaseI();
-
- IceInternal::ProtocolPluginFacadePtr _protocolPluginFacade;
- TraceLevelsPtr _traceLevels;
- Ice::LoggerPtr _logger;
- Ice::PropertiesPtr _properties;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_PLUGIN_I_H +#define ICE_SSL_PLUGIN_I_H + +#include <Ice/LoggerF.h> +#include <Ice/PropertiesF.h> +#include <Ice/ProtocolPluginFacadeF.h> +#include <IceSSL/Plugin.h> +#include <IceSSL/PluginBaseIF.h> +#include <IceSSL/SslConnectionF.h> +#include <IceSSL/CertificateVerifierF.h> +#include <IceSSL/TraceLevelsF.h> + +namespace IceSSL +{ + +class PluginBaseI : public IceSSL::Plugin +{ +public: + + virtual ConnectionPtr createConnection(ContextType, int) = 0; + + virtual bool isConfigured(ContextType) = 0; + + virtual void configure() = 0; + + virtual void configure(ContextType) = 0; + + virtual void loadConfig(ContextType, const ::std::string&, const ::std::string&) = 0; + + virtual void setCertificateVerifier(ContextType, const CertificateVerifierPtr&) = 0; + + virtual void addTrustedCertificateBase64(ContextType, const std::string&) = 0; + + virtual void addTrustedCertificate(ContextType, const Ice::ByteSeq&) = 0; + + virtual void setRSAKeysBase64(ContextType, const std::string&, const std::string&) = 0; + + virtual void setRSAKeys(ContextType, const ::Ice::ByteSeq&, const ::Ice::ByteSeq&) = 0; + + TraceLevelsPtr getTraceLevels() const; + + Ice::LoggerPtr getLogger() const; + + Ice::PropertiesPtr getProperties() const; + + IceInternal::ProtocolPluginFacadePtr getProtocolPluginFacade() const; + +protected: + + PluginBaseI(const IceInternal::ProtocolPluginFacadePtr&); + virtual ~PluginBaseI(); + + IceInternal::ProtocolPluginFacadePtr _protocolPluginFacade; + TraceLevelsPtr _traceLevels; + Ice::LoggerPtr _logger; + Ice::PropertiesPtr _properties; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/PluginBaseIF.h b/cpp/src/IceSSL/PluginBaseIF.h index e145fe32230..1f7cf16bd6e 100644 --- a/cpp/src/IceSSL/PluginBaseIF.h +++ b/cpp/src/IceSSL/PluginBaseIF.h @@ -1,32 +1,32 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_PLUGIN_BASE_I_F_H
-#define ICE_SSL_PLUGIN_BASE_I_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceSSL
-{
-
-class PluginBaseI;
-typedef IceInternal::Handle<PluginBaseI> PluginBaseIPtr;
-
-}
-
-namespace IceInternal
-{
-
-void incRef(IceSSL::PluginBaseI*);
-void decRef(IceSSL::PluginBaseI*);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_PLUGIN_BASE_I_F_H +#define ICE_SSL_PLUGIN_BASE_I_F_H + +#include <Ice/Handle.h> + +namespace IceSSL +{ + +class PluginBaseI; +typedef IceInternal::Handle<PluginBaseI> PluginBaseIPtr; + +} + +namespace IceInternal +{ + +void incRef(IceSSL::PluginBaseI*); +void decRef(IceSSL::PluginBaseI*); + +} + +#endif diff --git a/cpp/src/IceSSL/SingleCertificateVerifier.h b/cpp/src/IceSSL/SingleCertificateVerifier.h index c524311c119..89753b620e9 100644 --- a/cpp/src/IceSSL/SingleCertificateVerifier.h +++ b/cpp/src/IceSSL/SingleCertificateVerifier.h @@ -1,43 +1,43 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_SINGLE_CERTIFICATE_VERIFIER_H
-#define ICE_SSL_SINGLE_CERTIFICATE_VERIFIER_H
-
-#include <Ice/BuiltinSequences.h>
-#include <IceSSL/CertificateVerifierOpenSSL.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class SingleCertificateVerifier : public IceSSL::OpenSSL::CertificateVerifier
-{
-public:
-
- SingleCertificateVerifier(const Ice::ByteSeq&);
-
- virtual int verify(int, X509_STORE_CTX*, SSL*);
-
- Ice::ByteSeq toByteSeq(X509*);
-
-protected:
-
- Ice::ByteSeq _publicKey;
-};
-
-}
-
-}
-
-#endif
-
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_SINGLE_CERTIFICATE_VERIFIER_H +#define ICE_SSL_SINGLE_CERTIFICATE_VERIFIER_H + +#include <Ice/BuiltinSequences.h> +#include <IceSSL/CertificateVerifierOpenSSL.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class SingleCertificateVerifier : public IceSSL::OpenSSL::CertificateVerifier +{ +public: + + SingleCertificateVerifier(const Ice::ByteSeq&); + + virtual int verify(int, X509_STORE_CTX*, SSL*); + + Ice::ByteSeq toByteSeq(X509*); + +protected: + + Ice::ByteSeq _publicKey; +}; + +} + +} + +#endif + diff --git a/cpp/src/IceSSL/SslAcceptor.h b/cpp/src/IceSSL/SslAcceptor.h index dbe7656e840..5718d5ab3c9 100644 --- a/cpp/src/IceSSL/SslAcceptor.h +++ b/cpp/src/IceSSL/SslAcceptor.h @@ -1,58 +1,58 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_ACCEPTOR_H
-#define ICE_SSL_ACCEPTOR_H
-
-#include <Ice/TransceiverF.h>
-#include <Ice/LoggerF.h>
-#include <Ice/Acceptor.h>
-#include <IceSSL/PluginBaseIF.h>
-#include <IceSSL/TraceLevelsF.h>
-
-#ifndef _WIN32
-# include <netinet/in.h> // For struct sockaddr_in
-#endif
-
-namespace IceSSL
-{
-
-class SslEndpoint;
-
-class SslAcceptor : public IceInternal::Acceptor
-{
-public:
-
- virtual SOCKET fd();
- virtual void close();
- virtual void listen();
- virtual IceInternal::TransceiverPtr accept(int);
- virtual std::string toString() const;
-
- bool equivalent(const std::string&, int) const;
- int effectivePort();
-
-private:
-
- SslAcceptor(const PluginBaseIPtr&, const std::string&, int);
- virtual ~SslAcceptor();
- friend class SslEndpoint;
-
- PluginBaseIPtr _plugin;
- TraceLevelsPtr _traceLevels;
- ::Ice::LoggerPtr _logger;
- SOCKET _fd;
- int _backlog;
- struct sockaddr_in _addr;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_ACCEPTOR_H +#define ICE_SSL_ACCEPTOR_H + +#include <Ice/TransceiverF.h> +#include <Ice/LoggerF.h> +#include <Ice/Acceptor.h> +#include <IceSSL/PluginBaseIF.h> +#include <IceSSL/TraceLevelsF.h> + +#ifndef _WIN32 +# include <netinet/in.h> // For struct sockaddr_in +#endif + +namespace IceSSL +{ + +class SslEndpoint; + +class SslAcceptor : public IceInternal::Acceptor +{ +public: + + virtual SOCKET fd(); + virtual void close(); + virtual void listen(); + virtual IceInternal::TransceiverPtr accept(int); + virtual std::string toString() const; + + bool equivalent(const std::string&, int) const; + int effectivePort(); + +private: + + SslAcceptor(const PluginBaseIPtr&, const std::string&, int); + virtual ~SslAcceptor(); + friend class SslEndpoint; + + PluginBaseIPtr _plugin; + TraceLevelsPtr _traceLevels; + ::Ice::LoggerPtr _logger; + SOCKET _fd; + int _backlog; + struct sockaddr_in _addr; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/SslConnection.h b/cpp/src/IceSSL/SslConnection.h index 8347f7893bf..eb7aedb9e7f 100644 --- a/cpp/src/IceSSL/SslConnection.h +++ b/cpp/src/IceSSL/SslConnection.h @@ -1,46 +1,46 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONNECTION_H
-#define ICE_SSL_CONNECTION_H
-
-#include <Ice/Buffer.h>
-#include <Ice/LoggerF.h>
-#include <IceSSL/SslConnectionF.h>
-#include <IceSSL/TraceLevelsF.h>
-#include <IceSSL/CertificateVerifierF.h>
-
-namespace IceSSL
-{
-
-class Connection : public IceUtil::Shared
-{
-public:
-
- Connection(const TraceLevelsPtr&,
- const Ice::LoggerPtr&,
- const CertificateVerifierPtr&);
- virtual ~Connection();
-
- virtual int shutdown(int timeout = 0) = 0;
-
- virtual int read(IceInternal::Buffer&, int) = 0;
- virtual int write(IceInternal::Buffer&, int) = 0;
-
-protected:
-
- TraceLevelsPtr _traceLevels;
- Ice::LoggerPtr _logger;
- CertificateVerifierPtr _certificateVerifier;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONNECTION_H +#define ICE_SSL_CONNECTION_H + +#include <Ice/Buffer.h> +#include <Ice/LoggerF.h> +#include <IceSSL/SslConnectionF.h> +#include <IceSSL/TraceLevelsF.h> +#include <IceSSL/CertificateVerifierF.h> + +namespace IceSSL +{ + +class Connection : public IceUtil::Shared +{ +public: + + Connection(const TraceLevelsPtr&, + const Ice::LoggerPtr&, + const CertificateVerifierPtr&); + virtual ~Connection(); + + virtual int shutdown(int timeout = 0) = 0; + + virtual int read(IceInternal::Buffer&, int) = 0; + virtual int write(IceInternal::Buffer&, int) = 0; + +protected: + + TraceLevelsPtr _traceLevels; + Ice::LoggerPtr _logger; + CertificateVerifierPtr _certificateVerifier; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/SslConnectionF.h b/cpp/src/IceSSL/SslConnectionF.h index 48c4383448f..5d394788405 100644 --- a/cpp/src/IceSSL/SslConnectionF.h +++ b/cpp/src/IceSSL/SslConnectionF.h @@ -1,32 +1,32 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONNECTION_F_H
-#define ICE_SSL_CONNECTION_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceSSL
-{
-
-class Connection;
-typedef IceInternal::Handle<Connection> ConnectionPtr;
-
-}
-
-namespace IceInternal
-{
-
-void incRef(::IceSSL::Connection*);
-void decRef(::IceSSL::Connection*);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONNECTION_F_H +#define ICE_SSL_CONNECTION_F_H + +#include <Ice/Handle.h> + +namespace IceSSL +{ + +class Connection; +typedef IceInternal::Handle<Connection> ConnectionPtr; + +} + +namespace IceInternal +{ + +void incRef(::IceSSL::Connection*); +void decRef(::IceSSL::Connection*); + +} + +#endif diff --git a/cpp/src/IceSSL/SslConnectionOpenSSL.h b/cpp/src/IceSSL/SslConnectionOpenSSL.h index 6cf2a501b4b..b7ae891f86b 100644 --- a/cpp/src/IceSSL/SslConnectionOpenSSL.h +++ b/cpp/src/IceSSL/SslConnectionOpenSSL.h @@ -1,206 +1,206 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONNECTION_OPENSSL_H
-#define ICE_SSL_CONNECTION_OPENSSL_H
-
-#include <IceUtil/Mutex.h>
-#include <IceSSL/SslConnection.h>
-#include <IceSSL/PluginBaseIF.h>
-#include <IceSSL/SslConnectionOpenSSLF.h>
-#include <IceSSL/CertificateVerifierOpenSSL.h>
-#include <IceSSL/TraceLevelsF.h>
-
-#include <openssl/ssl.h>
-
-#include <map>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class SafeFlag
-{
-public:
-
- SafeFlag(bool flagVal = false)
- {
- _flag = flagVal;
- }
-
- ~SafeFlag()
- {
- }
-
- bool checkAndSet()
- {
- IceUtil::Mutex::Lock sync(_mutex);
-
- if(_flag)
- {
- return false;
- }
- else
- {
- _flag = true;
- return true;
- }
- }
-
- bool check()
- {
- IceUtil::Mutex::Lock sync(_mutex);
- return _flag;
- }
-
- void set()
- {
- IceUtil::Mutex::Lock sync(_mutex);
- _flag = true;
- }
-
- void unset()
- {
- IceUtil::Mutex::Lock sync(_mutex);
- _flag = false;
- }
-
-private:
-
- IceUtil::Mutex _mutex;
- bool _flag;
-};
-
-class HandshakeSentinel
-{
-public:
-
- HandshakeSentinel(SafeFlag& handshakeFlag) :
- _flag(handshakeFlag)
- {
- _ownHandshake = _flag.checkAndSet();
- }
-
- ~HandshakeSentinel()
- {
- if(_ownHandshake)
- {
- _flag.unset();
- }
- }
-
- bool ownHandshake()
- {
- return _ownHandshake;
- }
-
-private:
-
- bool _ownHandshake;
- SafeFlag& _flag;
-};
-
-// NOTE: This is a mapping from SSL* to Connection*, for use with the verifyCallback.
-// I have purposely not used ConnectionPtr here, as connections register themselves
-// with this map on construction and unregister themselves in the destructor. If
-// this map used ConnectionPtr, Connection instances would never destruct as there
-// would always be a reference to them from the map.
-typedef std::map<SSL*, Connection*> SslConnectionMap;
-
-typedef enum
-{
- Handshake, // The connection is negotiating a connection with the peer.
- Shutdown, // The connection is in the process of shutting down.
- Connected // The connection is connected - communication may continue.
-} ConnectPhase;
-
-class Connection : public IceSSL::Connection
-{
-public:
-
- Connection(const IceSSL::CertificateVerifierPtr&,
- SSL*,
- const IceSSL::PluginBaseIPtr&);
- virtual ~Connection();
-
- virtual int shutdown(int timeout = 0);
-
- virtual int read(IceInternal::Buffer&, int);
- virtual int write(IceInternal::Buffer&, int) = 0;
-
- virtual int handshake(int timeout = 0) = 0;
-
- void setHandshakeReadTimeout(int timeout);
-
- static ConnectionPtr getConnection(SSL*);
-
- // Callback from OpenSSL for purposes of certificate verification
- int verifyCertificate(int, X509_STORE_CTX*);
-
-protected:
-
- int connect();
- int accept();
- int renegotiate();
- int initialize(int timeout);
-
- int pending();
- int getLastError() const;
-
- int sslRead(char*, int);
- int sslWrite(char*, int);
-
- int select(int, bool);
- int readSelect(int);
- int writeSelect(int);
-
- int readSSL(IceInternal::Buffer&, int);
-
- static void addConnection(SSL*, Connection*);
- static void removeConnection(SSL*);
-
- virtual void showConnectionInfo() = 0;
-
- void showCertificateChain(BIO*);
- void showPeerCertificate(BIO*, const char*);
- void showSharedCiphers(BIO*);
- void showSessionInfo(BIO*);
- void showSelectedCipherInfo(BIO*);
- void showHandshakeStats(BIO*);
- void showClientCAList(BIO*, const char*);
-
- void setLastError(int errorCode) { _lastError = errorCode; };
-
- static SslConnectionMap _connectionMap;
- static IceUtil::Mutex _connectionRepositoryMutex;
-
- // Pointer to the OpenSSL Connection structure.
- SSL* _sslConnection;
-
- int _lastError;
-
- IceUtil::Mutex _handshakeWaitMutex;
-
- SafeFlag _handshakeFlag;
- int _initWantRead;
- int _initWantWrite;
- int _handshakeReadTimeout;
- int _readTimeout;
-
- ConnectPhase _phase;
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONNECTION_OPENSSL_H +#define ICE_SSL_CONNECTION_OPENSSL_H + +#include <IceUtil/Mutex.h> +#include <IceSSL/SslConnection.h> +#include <IceSSL/PluginBaseIF.h> +#include <IceSSL/SslConnectionOpenSSLF.h> +#include <IceSSL/CertificateVerifierOpenSSL.h> +#include <IceSSL/TraceLevelsF.h> + +#include <openssl/ssl.h> + +#include <map> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class SafeFlag +{ +public: + + SafeFlag(bool flagVal = false) + { + _flag = flagVal; + } + + ~SafeFlag() + { + } + + bool checkAndSet() + { + IceUtil::Mutex::Lock sync(_mutex); + + if(_flag) + { + return false; + } + else + { + _flag = true; + return true; + } + } + + bool check() + { + IceUtil::Mutex::Lock sync(_mutex); + return _flag; + } + + void set() + { + IceUtil::Mutex::Lock sync(_mutex); + _flag = true; + } + + void unset() + { + IceUtil::Mutex::Lock sync(_mutex); + _flag = false; + } + +private: + + IceUtil::Mutex _mutex; + bool _flag; +}; + +class HandshakeSentinel +{ +public: + + HandshakeSentinel(SafeFlag& handshakeFlag) : + _flag(handshakeFlag) + { + _ownHandshake = _flag.checkAndSet(); + } + + ~HandshakeSentinel() + { + if(_ownHandshake) + { + _flag.unset(); + } + } + + bool ownHandshake() + { + return _ownHandshake; + } + +private: + + bool _ownHandshake; + SafeFlag& _flag; +}; + +// NOTE: This is a mapping from SSL* to Connection*, for use with the verifyCallback. +// I have purposely not used ConnectionPtr here, as connections register themselves +// with this map on construction and unregister themselves in the destructor. If +// this map used ConnectionPtr, Connection instances would never destruct as there +// would always be a reference to them from the map. +typedef std::map<SSL*, Connection*> SslConnectionMap; + +typedef enum +{ + Handshake, // The connection is negotiating a connection with the peer. + Shutdown, // The connection is in the process of shutting down. + Connected // The connection is connected - communication may continue. +} ConnectPhase; + +class Connection : public IceSSL::Connection +{ +public: + + Connection(const IceSSL::CertificateVerifierPtr&, + SSL*, + const IceSSL::PluginBaseIPtr&); + virtual ~Connection(); + + virtual int shutdown(int timeout = 0); + + virtual int read(IceInternal::Buffer&, int); + virtual int write(IceInternal::Buffer&, int) = 0; + + virtual int handshake(int timeout = 0) = 0; + + void setHandshakeReadTimeout(int timeout); + + static ConnectionPtr getConnection(SSL*); + + // Callback from OpenSSL for purposes of certificate verification + int verifyCertificate(int, X509_STORE_CTX*); + +protected: + + int connect(); + int accept(); + int renegotiate(); + int initialize(int timeout); + + int pending(); + int getLastError() const; + + int sslRead(char*, int); + int sslWrite(char*, int); + + int select(int, bool); + int readSelect(int); + int writeSelect(int); + + int readSSL(IceInternal::Buffer&, int); + + static void addConnection(SSL*, Connection*); + static void removeConnection(SSL*); + + virtual void showConnectionInfo() = 0; + + void showCertificateChain(BIO*); + void showPeerCertificate(BIO*, const char*); + void showSharedCiphers(BIO*); + void showSessionInfo(BIO*); + void showSelectedCipherInfo(BIO*); + void showHandshakeStats(BIO*); + void showClientCAList(BIO*, const char*); + + void setLastError(int errorCode) { _lastError = errorCode; }; + + static SslConnectionMap _connectionMap; + static IceUtil::Mutex _connectionRepositoryMutex; + + // Pointer to the OpenSSL Connection structure. + SSL* _sslConnection; + + int _lastError; + + IceUtil::Mutex _handshakeWaitMutex; + + SafeFlag _handshakeFlag; + int _initWantRead; + int _initWantWrite; + int _handshakeReadTimeout; + int _readTimeout; + + ConnectPhase _phase; +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/SslConnectionOpenSSLClient.h b/cpp/src/IceSSL/SslConnectionOpenSSLClient.h index 988bd20411e..89903e5c8a8 100644 --- a/cpp/src/IceSSL/SslConnectionOpenSSLClient.h +++ b/cpp/src/IceSSL/SslConnectionOpenSSLClient.h @@ -1,44 +1,44 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONNECTION_OPENSSL_CLIENT_H
-#define ICE_SSL_CONNECTION_OPENSSL_CLIENT_H
-
-#include <IceSSL/SslConnectionOpenSSL.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class ClientConnection : public Connection
-{
-public:
-
- ClientConnection(const IceSSL::CertificateVerifierPtr&,
- SSL*,
- const IceSSL::PluginBaseIPtr&);
- virtual ~ClientConnection();
-
- virtual int handshake(int timeout = 0);
-
- virtual int write(IceInternal::Buffer&, int);
-
-protected:
-
- virtual void showConnectionInfo();
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONNECTION_OPENSSL_CLIENT_H +#define ICE_SSL_CONNECTION_OPENSSL_CLIENT_H + +#include <IceSSL/SslConnectionOpenSSL.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class ClientConnection : public Connection +{ +public: + + ClientConnection(const IceSSL::CertificateVerifierPtr&, + SSL*, + const IceSSL::PluginBaseIPtr&); + virtual ~ClientConnection(); + + virtual int handshake(int timeout = 0); + + virtual int write(IceInternal::Buffer&, int); + +protected: + + virtual void showConnectionInfo(); +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/SslConnectionOpenSSLF.h b/cpp/src/IceSSL/SslConnectionOpenSSLF.h index b5fb778de64..4c35b8166a3 100644 --- a/cpp/src/IceSSL/SslConnectionOpenSSLF.h +++ b/cpp/src/IceSSL/SslConnectionOpenSSLF.h @@ -1,37 +1,37 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONNECTION_OPENSSL_F_H
-#define ICE_SSL_CONNECTION_OPENSSL_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class Connection;
-typedef IceInternal::Handle<Connection> ConnectionPtr;
-
-}
-
-}
-
-namespace IceInternal
-{
-
-void incRef(::IceSSL::OpenSSL::Connection*);
-void decRef(::IceSSL::OpenSSL::Connection*);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONNECTION_OPENSSL_F_H +#define ICE_SSL_CONNECTION_OPENSSL_F_H + +#include <Ice/Handle.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class Connection; +typedef IceInternal::Handle<Connection> ConnectionPtr; + +} + +} + +namespace IceInternal +{ + +void incRef(::IceSSL::OpenSSL::Connection*); +void decRef(::IceSSL::OpenSSL::Connection*); + +} + +#endif diff --git a/cpp/src/IceSSL/SslConnectionOpenSSLServer.h b/cpp/src/IceSSL/SslConnectionOpenSSLServer.h index 6e1b91a524b..fb990670f68 100644 --- a/cpp/src/IceSSL/SslConnectionOpenSSLServer.h +++ b/cpp/src/IceSSL/SslConnectionOpenSSLServer.h @@ -1,44 +1,44 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONNECTION_OPENSSL_SERVER_H
-#define ICE_SSL_CONNECTION_OPENSSL_SERVER_H
-
-#include <IceSSL/SslConnectionOpenSSL.h>
-
-namespace IceSSL
-{
-
-namespace OpenSSL
-{
-
-class ServerConnection : public Connection
-{
-public:
-
- ServerConnection(const IceSSL::CertificateVerifierPtr&,
- SSL*,
- const IceSSL::PluginBaseIPtr&);
- virtual ~ServerConnection();
-
- virtual int handshake(int timeout = 0);
-
- virtual int write(IceInternal::Buffer&, int);
-
-protected:
-
- virtual void showConnectionInfo();
-};
-
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONNECTION_OPENSSL_SERVER_H +#define ICE_SSL_CONNECTION_OPENSSL_SERVER_H + +#include <IceSSL/SslConnectionOpenSSL.h> + +namespace IceSSL +{ + +namespace OpenSSL +{ + +class ServerConnection : public Connection +{ +public: + + ServerConnection(const IceSSL::CertificateVerifierPtr&, + SSL*, + const IceSSL::PluginBaseIPtr&); + virtual ~ServerConnection(); + + virtual int handshake(int timeout = 0); + + virtual int write(IceInternal::Buffer&, int); + +protected: + + virtual void showConnectionInfo(); +}; + +} + +} + +#endif diff --git a/cpp/src/IceSSL/SslConnector.h b/cpp/src/IceSSL/SslConnector.h index 7514abcc82b..de556f0e3ba 100644 --- a/cpp/src/IceSSL/SslConnector.h +++ b/cpp/src/IceSSL/SslConnector.h @@ -1,46 +1,46 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_CONNECTOR_H
-#define ICE_SSL_CONNECTOR_H
-
-#include <Ice/TransceiverF.h>
-#include <Ice/Connector.h>
-#include <IceSSL/PluginBaseIF.h>
-
-#ifndef _WIN32
-# include <netinet/in.h> // For struct sockaddr_in
-#endif
-
-namespace IceSSL
-{
-
-class SslEndpoint;
-
-class SslConnector : public IceInternal::Connector
-{
-public:
-
- virtual IceInternal::TransceiverPtr connect(int);
- virtual std::string toString() const;
-
-private:
-
- SslConnector(const PluginBaseIPtr&, const std::string&, int);
- virtual ~SslConnector();
- friend class SslEndpoint;
-
- PluginBaseIPtr _plugin;
- struct sockaddr_in _addr;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_CONNECTOR_H +#define ICE_SSL_CONNECTOR_H + +#include <Ice/TransceiverF.h> +#include <Ice/Connector.h> +#include <IceSSL/PluginBaseIF.h> + +#ifndef _WIN32 +# include <netinet/in.h> // For struct sockaddr_in +#endif + +namespace IceSSL +{ + +class SslEndpoint; + +class SslConnector : public IceInternal::Connector +{ +public: + + virtual IceInternal::TransceiverPtr connect(int); + virtual std::string toString() const; + +private: + + SslConnector(const PluginBaseIPtr&, const std::string&, int); + virtual ~SslConnector(); + friend class SslEndpoint; + + PluginBaseIPtr _plugin; + struct sockaddr_in _addr; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/SslEndpoint.h b/cpp/src/IceSSL/SslEndpoint.h index 4f2c4303737..308f4b072db 100644 --- a/cpp/src/IceSSL/SslEndpoint.h +++ b/cpp/src/IceSSL/SslEndpoint.h @@ -1,81 +1,81 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_ENDPOINT_H
-#define ICE_SSL_ENDPOINT_H
-
-#include <Ice/Endpoint.h>
-#include <Ice/EndpointFactory.h>
-#include <IceSSL/PluginBaseI.h>
-
-namespace IceSSL
-{
-
-const ::Ice::Short SslEndpointType = 2;
-
-class SslEndpoint : public IceInternal::Endpoint
-{
-public:
-
- SslEndpoint(const IceSSL::PluginBaseIPtr&, const std::string&, ::Ice::Int, ::Ice::Int);
- SslEndpoint(const IceSSL::PluginBaseIPtr&, const std::string&);
- SslEndpoint(const IceSSL::PluginBaseIPtr&, IceInternal::BasicStream*);
-
- virtual void streamWrite(IceInternal::BasicStream*) const;
- virtual std::string toString() const;
- virtual ::Ice::Short type() const;
- virtual ::Ice::Int timeout() const;
- virtual IceInternal::EndpointPtr timeout(::Ice::Int) const;
- virtual bool datagram() const;
- virtual bool secure() const;
- virtual bool unknown() const;
- virtual IceInternal::TransceiverPtr clientTransceiver() const;
- virtual IceInternal::TransceiverPtr serverTransceiver(IceInternal::EndpointPtr&) const;
- virtual IceInternal::ConnectorPtr connector() const;
- virtual IceInternal::AcceptorPtr acceptor(IceInternal::EndpointPtr&) const;
- virtual bool equivalent(const IceInternal::TransceiverPtr&) const;
- virtual bool equivalent(const IceInternal::AcceptorPtr&) const;
-
- virtual bool operator==(const IceInternal::Endpoint&) const;
- virtual bool operator!=(const IceInternal::Endpoint&) const;
- virtual bool operator<(const IceInternal::Endpoint&) const;
-
-private:
-
- //
- // All members are const, because endpoints are immutable.
- //
- const IceSSL::PluginBaseIPtr _plugin;
- const std::string _host;
- const ::Ice::Int _port;
- const ::Ice::Int _timeout;
-};
-
-class SslEndpointFactory : public IceInternal::EndpointFactory
-{
-public:
-
- SslEndpointFactory(const IceSSL::PluginBaseIPtr&);
- virtual ~SslEndpointFactory();
-
- virtual ::Ice::Short type() const;
- virtual const ::std::string& protocol() const;
- virtual IceInternal::EndpointPtr create(const std::string&) const;
- virtual IceInternal::EndpointPtr read(IceInternal::BasicStream*) const;
- virtual void destroy();
-
-private:
-
- IceSSL::PluginBaseIPtr _plugin;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_ENDPOINT_H +#define ICE_SSL_ENDPOINT_H + +#include <Ice/Endpoint.h> +#include <Ice/EndpointFactory.h> +#include <IceSSL/PluginBaseI.h> + +namespace IceSSL +{ + +const ::Ice::Short SslEndpointType = 2; + +class SslEndpoint : public IceInternal::Endpoint +{ +public: + + SslEndpoint(const IceSSL::PluginBaseIPtr&, const std::string&, ::Ice::Int, ::Ice::Int); + SslEndpoint(const IceSSL::PluginBaseIPtr&, const std::string&); + SslEndpoint(const IceSSL::PluginBaseIPtr&, IceInternal::BasicStream*); + + virtual void streamWrite(IceInternal::BasicStream*) const; + virtual std::string toString() const; + virtual ::Ice::Short type() const; + virtual ::Ice::Int timeout() const; + virtual IceInternal::EndpointPtr timeout(::Ice::Int) const; + virtual bool datagram() const; + virtual bool secure() const; + virtual bool unknown() const; + virtual IceInternal::TransceiverPtr clientTransceiver() const; + virtual IceInternal::TransceiverPtr serverTransceiver(IceInternal::EndpointPtr&) const; + virtual IceInternal::ConnectorPtr connector() const; + virtual IceInternal::AcceptorPtr acceptor(IceInternal::EndpointPtr&) const; + virtual bool equivalent(const IceInternal::TransceiverPtr&) const; + virtual bool equivalent(const IceInternal::AcceptorPtr&) const; + + virtual bool operator==(const IceInternal::Endpoint&) const; + virtual bool operator!=(const IceInternal::Endpoint&) const; + virtual bool operator<(const IceInternal::Endpoint&) const; + +private: + + // + // All members are const, because endpoints are immutable. + // + const IceSSL::PluginBaseIPtr _plugin; + const std::string _host; + const ::Ice::Int _port; + const ::Ice::Int _timeout; +}; + +class SslEndpointFactory : public IceInternal::EndpointFactory +{ +public: + + SslEndpointFactory(const IceSSL::PluginBaseIPtr&); + virtual ~SslEndpointFactory(); + + virtual ::Ice::Short type() const; + virtual const ::std::string& protocol() const; + virtual IceInternal::EndpointPtr create(const std::string&) const; + virtual IceInternal::EndpointPtr read(IceInternal::BasicStream*) const; + virtual void destroy(); + +private: + + IceSSL::PluginBaseIPtr _plugin; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/SslTransceiver.h b/cpp/src/IceSSL/SslTransceiver.h index 3f37406398a..fd07fcd78b6 100644 --- a/cpp/src/IceSSL/SslTransceiver.h +++ b/cpp/src/IceSSL/SslTransceiver.h @@ -1,56 +1,56 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_TRANSCEIVER_H
-#define ICE_SSL_TRANSCEIVER_H
-
-#include <Ice/LoggerF.h>
-#include <Ice/Transceiver.h>
-#include <IceSSL/SslConnectionF.h>
-#include <IceSSL/PluginBaseIF.h>
-#include <IceSSL/TraceLevelsF.h>
-
-namespace IceSSL
-{
-
-class SslConnector;
-class SslAcceptor;
-
-class SslTransceiver : public IceInternal::Transceiver
-{
-public:
-
- virtual SOCKET fd();
- virtual void close();
- virtual void shutdown();
- virtual void write(IceInternal::Buffer&, int);
- virtual void read(IceInternal::Buffer&, int);
- virtual std::string toString() const;
-
-private:
-
- SslTransceiver(const PluginBaseIPtr&, SOCKET, const ::IceSSL::ConnectionPtr&);
-
- virtual ~SslTransceiver();
- friend class SslConnector;
- friend class SslAcceptor;
-
- TraceLevelsPtr _traceLevels;
- Ice::LoggerPtr _logger;
- SOCKET _fd;
- fd_set _rFdSet;
- fd_set _wFdSet;
-
- ::IceSSL::ConnectionPtr _sslConnection;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_TRANSCEIVER_H +#define ICE_SSL_TRANSCEIVER_H + +#include <Ice/LoggerF.h> +#include <Ice/Transceiver.h> +#include <IceSSL/SslConnectionF.h> +#include <IceSSL/PluginBaseIF.h> +#include <IceSSL/TraceLevelsF.h> + +namespace IceSSL +{ + +class SslConnector; +class SslAcceptor; + +class SslTransceiver : public IceInternal::Transceiver +{ +public: + + virtual SOCKET fd(); + virtual void close(); + virtual void shutdown(); + virtual void write(IceInternal::Buffer&, int); + virtual void read(IceInternal::Buffer&, int); + virtual std::string toString() const; + +private: + + SslTransceiver(const PluginBaseIPtr&, SOCKET, const ::IceSSL::ConnectionPtr&); + + virtual ~SslTransceiver(); + friend class SslConnector; + friend class SslAcceptor; + + TraceLevelsPtr _traceLevels; + Ice::LoggerPtr _logger; + SOCKET _fd; + fd_set _rFdSet; + fd_set _wFdSet; + + ::IceSSL::ConnectionPtr _sslConnection; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/TempCerts.h b/cpp/src/IceSSL/TempCerts.h index 1614668cff2..57cfad5e07b 100644 --- a/cpp/src/IceSSL/TempCerts.h +++ b/cpp/src/IceSSL/TempCerts.h @@ -1,68 +1,68 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_TEMP_CERTS_H
-#define ICE_SSL_TEMP_CERTS_H
-
-#include <IceSSL/CertificateDesc.h>
-
-namespace IceSSL
-{
-
-class TempCertificates
-{
-public:
-
- TempCertificates();
- ~TempCertificates();
-
- void addRSACert(CertificateDesc&);
- void addDHParams(DiffieHellmanParamsFile&);
-
- RSAVector& getRSACerts();
- DHVector& getDHParams();
-
-protected:
-
- RSAVector _rsaCerts;
- DHVector _dhParams;
-};
-
-template<class Stream>
-inline Stream& operator << (Stream& target, TempCertificates& tmpCerts)
-{
- RSAVector::iterator iRSA = tmpCerts.getRSACerts().begin();
- RSAVector::iterator eRSA = tmpCerts.getRSACerts().end();
-
- while(iRSA != eRSA)
- {
- target << "RSA" << std::endl << "{" << std::endl;
- target << *iRSA;
- target << "}" << std::endl << std::endl;
- iRSA++;
- }
-
- DHVector::iterator iDHP = tmpCerts.getDHParams().begin();
- DHVector::iterator eDHP = tmpCerts.getDHParams().end();
-
- while(iDHP != eDHP)
- {
- target << "DH" << std::endl << "{" << std::endl;
- target << *iDHP;
- target << "}" << std::endl << std::endl;
- iDHP++;
- }
-
- return target;
-}
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_TEMP_CERTS_H +#define ICE_SSL_TEMP_CERTS_H + +#include <IceSSL/CertificateDesc.h> + +namespace IceSSL +{ + +class TempCertificates +{ +public: + + TempCertificates(); + ~TempCertificates(); + + void addRSACert(CertificateDesc&); + void addDHParams(DiffieHellmanParamsFile&); + + RSAVector& getRSACerts(); + DHVector& getDHParams(); + +protected: + + RSAVector _rsaCerts; + DHVector _dhParams; +}; + +template<class Stream> +inline Stream& operator << (Stream& target, TempCertificates& tmpCerts) +{ + RSAVector::iterator iRSA = tmpCerts.getRSACerts().begin(); + RSAVector::iterator eRSA = tmpCerts.getRSACerts().end(); + + while(iRSA != eRSA) + { + target << "RSA" << std::endl << "{" << std::endl; + target << *iRSA; + target << "}" << std::endl << std::endl; + iRSA++; + } + + DHVector::iterator iDHP = tmpCerts.getDHParams().begin(); + DHVector::iterator eDHP = tmpCerts.getDHParams().end(); + + while(iDHP != eDHP) + { + target << "DH" << std::endl << "{" << std::endl; + target << *iDHP; + target << "}" << std::endl << std::endl; + iDHP++; + } + + return target; +} + +} + +#endif diff --git a/cpp/src/IceSSL/TraceLevels.h b/cpp/src/IceSSL/TraceLevels.h index 519b8f0375b..d2ef318e0fc 100644 --- a/cpp/src/IceSSL/TraceLevels.h +++ b/cpp/src/IceSSL/TraceLevels.h @@ -1,37 +1,37 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_TRACE_LEVELS_H
-#define ICE_SSL_TRACE_LEVELS_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/ProtocolPluginFacadeF.h>
-#include <IceSSL/TraceLevelsF.h>
-
-namespace IceSSL
-{
-
-class TraceLevels : public ::IceUtil::Shared
-{
-public:
-
- TraceLevels(const IceInternal::ProtocolPluginFacadePtr&);
- virtual ~TraceLevels();
-
- const int network;
- const char* networkCat;
-
- const int security;
- const char* securityCat;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_TRACE_LEVELS_H +#define ICE_SSL_TRACE_LEVELS_H + +#include <IceUtil/Shared.h> +#include <Ice/ProtocolPluginFacadeF.h> +#include <IceSSL/TraceLevelsF.h> + +namespace IceSSL +{ + +class TraceLevels : public ::IceUtil::Shared +{ +public: + + TraceLevels(const IceInternal::ProtocolPluginFacadePtr&); + virtual ~TraceLevels(); + + const int network; + const char* networkCat; + + const int security; + const char* securityCat; +}; + +} + +#endif diff --git a/cpp/src/IceSSL/TraceLevelsF.h b/cpp/src/IceSSL/TraceLevelsF.h index ee35dd5c692..417c3bb7630 100644 --- a/cpp/src/IceSSL/TraceLevelsF.h +++ b/cpp/src/IceSSL/TraceLevelsF.h @@ -1,32 +1,32 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_SSL_TRACE_LEVELS_F_H
-#define ICE_SSL_TRACE_LEVELS_F_H
-
-#include <Ice/Handle.h>
-
-namespace IceSSL
-{
-
-class TraceLevels;
-typedef IceInternal::Handle<TraceLevels> TraceLevelsPtr;
-
-}
-
-namespace IceInternal
-{
-
-void incRef(IceSSL::TraceLevels*);
-void decRef(IceSSL::TraceLevels*);
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_SSL_TRACE_LEVELS_F_H +#define ICE_SSL_TRACE_LEVELS_F_H + +#include <Ice/Handle.h> + +namespace IceSSL +{ + +class TraceLevels; +typedef IceInternal::Handle<TraceLevels> TraceLevelsPtr; + +} + +namespace IceInternal +{ + +void incRef(IceSSL::TraceLevels*); +void decRef(IceSSL::TraceLevels*); + +} + +#endif diff --git a/cpp/src/IceStorm/Flushable.h b/cpp/src/IceStorm/Flushable.h index f071a72beb6..ee6566e337d 100644 --- a/cpp/src/IceStorm/Flushable.h +++ b/cpp/src/IceStorm/Flushable.h @@ -1,50 +1,50 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef FLUSHABLE_H
-#define FLUSHABLE_H
-
-#include <IceUtil/Handle.h>
-#include <IceUtil/Shared.h>
-
-namespace IceStorm
-{
-
-//
-// Flushable interface.
-//
-class Flushable : public virtual IceUtil::Shared
-{
-public:
-
- Flushable() { }
- ~Flushable() { }
-
- //
- // Flush any pending writes.
- //
- virtual void flush() = 0;
-
- //
- // Is this flushable object invalid?
- //
- virtual bool inactive() const = 0;
-
- //
- // Equality for flushable objects.
- //
- virtual bool operator==(const Flushable&) const = 0;
-};
-
-typedef IceUtil::Handle<Flushable> FlushablePtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef FLUSHABLE_H +#define FLUSHABLE_H + +#include <IceUtil/Handle.h> +#include <IceUtil/Shared.h> + +namespace IceStorm +{ + +// +// Flushable interface. +// +class Flushable : public virtual IceUtil::Shared +{ +public: + + Flushable() { } + ~Flushable() { } + + // + // Flush any pending writes. + // + virtual void flush() = 0; + + // + // Is this flushable object invalid? + // + virtual bool inactive() const = 0; + + // + // Equality for flushable objects. + // + virtual bool operator==(const Flushable&) const = 0; +}; + +typedef IceUtil::Handle<Flushable> FlushablePtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/Flusher.h b/cpp/src/IceStorm/Flusher.h index dd1849ee7be..ab0828ee146 100644 --- a/cpp/src/IceStorm/Flusher.h +++ b/cpp/src/IceStorm/Flusher.h @@ -1,56 +1,56 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef FLUSHER_H
-#define FLUSHER_H
-
-#include <IceUtil/Handle.h>
-#include <IceUtil/Shared.h>
-#include <Ice/CommunicatorF.h>
-
-namespace IceStorm
-{
-
-//
-// Forward declarations.
-//
-class FlusherThread;
-typedef IceUtil::Handle<FlusherThread> FlusherThreadPtr;
-
-class TraceLevels;
-typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr;
-
-class Flushable;
-typedef IceUtil::Handle<Flushable> FlushablePtr;
-
-//
-// Responsible for flushing Flushable objects at regular intervals.
-//
-class Flusher : public IceUtil::Shared
-{
-public:
-
- Flusher(const Ice::CommunicatorPtr&, const TraceLevelsPtr&);
- ~Flusher();
-
- void add(const FlushablePtr&);
- void remove(const FlushablePtr&);
- void stopFlushing();
-
-private:
-
- FlusherThreadPtr _thread;
-};
-
-typedef IceUtil::Handle<Flusher> FlusherPtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef FLUSHER_H +#define FLUSHER_H + +#include <IceUtil/Handle.h> +#include <IceUtil/Shared.h> +#include <Ice/CommunicatorF.h> + +namespace IceStorm +{ + +// +// Forward declarations. +// +class FlusherThread; +typedef IceUtil::Handle<FlusherThread> FlusherThreadPtr; + +class TraceLevels; +typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; + +class Flushable; +typedef IceUtil::Handle<Flushable> FlushablePtr; + +// +// Responsible for flushing Flushable objects at regular intervals. +// +class Flusher : public IceUtil::Shared +{ +public: + + Flusher(const Ice::CommunicatorPtr&, const TraceLevelsPtr&); + ~Flusher(); + + void add(const FlushablePtr&); + void remove(const FlushablePtr&); + void stopFlushing(); + +private: + + FlusherThreadPtr _thread; +}; + +typedef IceUtil::Handle<Flusher> FlusherPtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/LinkSubscriber.h b/cpp/src/IceStorm/LinkSubscriber.h index 45f447d1e8f..5b437892f49 100644 --- a/cpp/src/IceStorm/LinkSubscriber.h +++ b/cpp/src/IceStorm/LinkSubscriber.h @@ -1,47 +1,47 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef LINK_SUBSCRIBER_H
-#define LINK_SUBSCRIBER_H
-
-#include <IceStorm/Flushable.h>
-#include <IceStorm/Subscriber.h>
-#include <IceStorm/IceStormInternal.h> // For TopicLink
-
-namespace IceStorm
-{
-
-class LinkSubscriber : public Subscriber, public Flushable
-{
-public:
-
- LinkSubscriber(const TraceLevelsPtr&, const TopicLinkPrx&, Ice::Int);
- ~LinkSubscriber();
-
- virtual bool persistent() const;
- virtual bool inactive() const;
- virtual void unsubscribe();
- virtual void replace();
- virtual void publish(const Event&);
-
- virtual void flush();
- virtual bool operator==(const Flushable&) const;
-
-private:
-
- // Immutable
- TopicLinkPrx _obj;
- Ice::Int _cost;
-};
-
-} // End namespace IceStorm
-
-#endif
-
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef LINK_SUBSCRIBER_H +#define LINK_SUBSCRIBER_H + +#include <IceStorm/Flushable.h> +#include <IceStorm/Subscriber.h> +#include <IceStorm/IceStormInternal.h> // For TopicLink + +namespace IceStorm +{ + +class LinkSubscriber : public Subscriber, public Flushable +{ +public: + + LinkSubscriber(const TraceLevelsPtr&, const TopicLinkPrx&, Ice::Int); + ~LinkSubscriber(); + + virtual bool persistent() const; + virtual bool inactive() const; + virtual void unsubscribe(); + virtual void replace(); + virtual void publish(const Event&); + + virtual void flush(); + virtual bool operator==(const Flushable&) const; + +private: + + // Immutable + TopicLinkPrx _obj; + Ice::Int _cost; +}; + +} // End namespace IceStorm + +#endif + diff --git a/cpp/src/IceStorm/OnewayBatchSubscriber.h b/cpp/src/IceStorm/OnewayBatchSubscriber.h index 3dda3b00889..4b90d33d1a6 100644 --- a/cpp/src/IceStorm/OnewayBatchSubscriber.h +++ b/cpp/src/IceStorm/OnewayBatchSubscriber.h @@ -1,50 +1,50 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ONEWAY_BATCH_SUBSCRIBER_H
-#define ONEWAY_BATCH_SUBSCRIBER_H
-
-#include <IceStorm/OnewaySubscriber.h>
-#include <IceStorm/Flushable.h>
-
-namespace IceStorm
-{
-
-//
-// Forward declarations.
-//
-class Flusher;
-typedef IceUtil::Handle<Flusher> FlusherPtr;
-
-class OnewayBatchSubscriber : public OnewaySubscriber, public Flushable
-{
-public:
-
- OnewayBatchSubscriber(const TraceLevelsPtr&, const FlusherPtr&, const Ice::ObjectPrx&);
- ~OnewayBatchSubscriber();
-
- virtual void unsubscribe();
- virtual void replace();
- virtual bool inactive() const;
-
- virtual void flush();
-
- virtual bool operator==(const Flushable&) const;
-
-private:
-
- FlusherPtr _flusher;
-};
-
-typedef IceUtil::Handle<OnewayBatchSubscriber> OnewayBatchSubscriberPtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ONEWAY_BATCH_SUBSCRIBER_H +#define ONEWAY_BATCH_SUBSCRIBER_H + +#include <IceStorm/OnewaySubscriber.h> +#include <IceStorm/Flushable.h> + +namespace IceStorm +{ + +// +// Forward declarations. +// +class Flusher; +typedef IceUtil::Handle<Flusher> FlusherPtr; + +class OnewayBatchSubscriber : public OnewaySubscriber, public Flushable +{ +public: + + OnewayBatchSubscriber(const TraceLevelsPtr&, const FlusherPtr&, const Ice::ObjectPrx&); + ~OnewayBatchSubscriber(); + + virtual void unsubscribe(); + virtual void replace(); + virtual bool inactive() const; + + virtual void flush(); + + virtual bool operator==(const Flushable&) const; + +private: + + FlusherPtr _flusher; +}; + +typedef IceUtil::Handle<OnewayBatchSubscriber> OnewayBatchSubscriberPtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/OnewaySubscriber.h b/cpp/src/IceStorm/OnewaySubscriber.h index cef8f63993a..032821f271a 100644 --- a/cpp/src/IceStorm/OnewaySubscriber.h +++ b/cpp/src/IceStorm/OnewaySubscriber.h @@ -1,39 +1,39 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ONEWAY_SUBSCRIBER_H
-#define ONEWAY_SUBSCRIBER_H
-
-#include <IceStorm/Subscriber.h>
-
-namespace IceStorm
-{
-
-class OnewaySubscriber : public Subscriber
-{
-public:
-
- OnewaySubscriber(const TraceLevelsPtr&, const Ice::ObjectPrx&);
- ~OnewaySubscriber();
-
- virtual bool persistent() const;
- virtual void unsubscribe();
- virtual void replace();
- virtual void publish(const Event&);
-
-protected:
-
- // Immutable
- Ice::ObjectPrx _obj;
-};
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ONEWAY_SUBSCRIBER_H +#define ONEWAY_SUBSCRIBER_H + +#include <IceStorm/Subscriber.h> + +namespace IceStorm +{ + +class OnewaySubscriber : public Subscriber +{ +public: + + OnewaySubscriber(const TraceLevelsPtr&, const Ice::ObjectPrx&); + ~OnewaySubscriber(); + + virtual bool persistent() const; + virtual void unsubscribe(); + virtual void replace(); + virtual void publish(const Event&); + +protected: + + // Immutable + Ice::ObjectPrx _obj; +}; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/Parser.h b/cpp/src/IceStorm/Parser.h index 841f8e22d1f..a60d2866f58 100644 --- a/cpp/src/IceStorm/Parser.h +++ b/cpp/src/IceStorm/Parser.h @@ -1,108 +1,108 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_STORM_PARSER_H
-#define ICE_STORM_PARSER_H
-
-#include <IceUtil/Handle.h>
-#include <IceStorm/IceStorm.h>
-#include <list>
-
-#ifdef _WIN32
-# include <io.h>
-# define isatty _isatty
-# define fileno _fileno
-// '_isatty' : inconsistent dll linkage. dllexport assumed.
-# pragma warning( disable : 4273 )
-#endif
-
-//
-// Stuff for flex and bison
-//
-
-#define YYSTYPE std::list<std::string>
-#define YY_DECL int yylex(YYSTYPE* yylvalp)
-YY_DECL;
-int yyparse();
-
-//
-// I must set the initial stack depth to the maximum stack depth to
-// disable bison stack resizing. The bison stack resizing routines use
-// simple malloc/alloc/memcpy calls, which do not work for the
-// YYSTYPE, since YYSTYPE is a C++ type, with constructor, destructor,
-// assignment operator, etc.
-//
-#define YYMAXDEPTH 20000 // 20000 should suffice. Bison default is 10000 as maximum.
-#define YYINITDEPTH YYMAXDEPTH // Initial depth is set to max depth, for the reasons described above.
-
-//
-// Newer bison versions allow to disable stack resizing by defining
-// yyoverflow.
-//
-#define yyoverflow(a, b, c, d, e, f) yyerror(a)
-
-namespace IceStorm
-{
-
-//
-// Forward declaration.
-//
-class Parser;
-typedef ::IceUtil::Handle<Parser> ParserPtr;
-
-class Parser : public ::IceUtil::SimpleShared
-{
-public:
-
- static ParserPtr createParser(const Ice::CommunicatorPtr&, const IceStorm::TopicManagerPrx&);
-
- void usage();
-
- void create(const std::list<std::string>&);
- void destroy(const std::list<std::string>&);
- void dolist(const std::list<std::string>&); // Don't name list - conflicts with std::list
- void link(const std::list<std::string>&);
- void unlink(const std::list<std::string>&);
- void graph(const std::list<std::string>&);
- void shutdown();
-
- void getInput(char*, int&, int);
- void nextLine();
- void continueLine();
- char* getPrompt();
- void scanPosition(const char*);
-
- void error(const char*);
- void error(const std::string&);
-
- void warning(const char*);
- void warning(const std::string&);
-
- int parse(FILE*, bool);
- int parse(const std::string&, bool);
-
-private:
-
- Parser(const Ice::CommunicatorPtr&, const IceStorm::TopicManagerPrx&);
-
- std::string _commands;
- Ice::CommunicatorPtr _communicator;
- IceStorm::TopicManagerPrx _admin;
- bool _continue;
- int _errors;
- int _currentLine;
- std::string _currentFile;
-};
-
-extern Parser* parser; // The current parser for bison/flex
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_STORM_PARSER_H +#define ICE_STORM_PARSER_H + +#include <IceUtil/Handle.h> +#include <IceStorm/IceStorm.h> +#include <list> + +#ifdef _WIN32 +# include <io.h> +# define isatty _isatty +# define fileno _fileno +// '_isatty' : inconsistent dll linkage. dllexport assumed. +# pragma warning( disable : 4273 ) +#endif + +// +// Stuff for flex and bison +// + +#define YYSTYPE std::list<std::string> +#define YY_DECL int yylex(YYSTYPE* yylvalp) +YY_DECL; +int yyparse(); + +// +// I must set the initial stack depth to the maximum stack depth to +// disable bison stack resizing. The bison stack resizing routines use +// simple malloc/alloc/memcpy calls, which do not work for the +// YYSTYPE, since YYSTYPE is a C++ type, with constructor, destructor, +// assignment operator, etc. +// +#define YYMAXDEPTH 20000 // 20000 should suffice. Bison default is 10000 as maximum. +#define YYINITDEPTH YYMAXDEPTH // Initial depth is set to max depth, for the reasons described above. + +// +// Newer bison versions allow to disable stack resizing by defining +// yyoverflow. +// +#define yyoverflow(a, b, c, d, e, f) yyerror(a) + +namespace IceStorm +{ + +// +// Forward declaration. +// +class Parser; +typedef ::IceUtil::Handle<Parser> ParserPtr; + +class Parser : public ::IceUtil::SimpleShared +{ +public: + + static ParserPtr createParser(const Ice::CommunicatorPtr&, const IceStorm::TopicManagerPrx&); + + void usage(); + + void create(const std::list<std::string>&); + void destroy(const std::list<std::string>&); + void dolist(const std::list<std::string>&); // Don't name list - conflicts with std::list + void link(const std::list<std::string>&); + void unlink(const std::list<std::string>&); + void graph(const std::list<std::string>&); + void shutdown(); + + void getInput(char*, int&, int); + void nextLine(); + void continueLine(); + char* getPrompt(); + void scanPosition(const char*); + + void error(const char*); + void error(const std::string&); + + void warning(const char*); + void warning(const std::string&); + + int parse(FILE*, bool); + int parse(const std::string&, bool); + +private: + + Parser(const Ice::CommunicatorPtr&, const IceStorm::TopicManagerPrx&); + + std::string _commands; + Ice::CommunicatorPtr _communicator; + IceStorm::TopicManagerPrx _admin; + bool _continue; + int _errors; + int _currentLine; + std::string _currentFile; +}; + +extern Parser* parser; // The current parser for bison/flex + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/Subscriber.h b/cpp/src/IceStorm/Subscriber.h index 5f30a365b89..453c8b125b3 100644 --- a/cpp/src/IceStorm/Subscriber.h +++ b/cpp/src/IceStorm/Subscriber.h @@ -1,136 +1,136 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef SUBSCRIBER_H
-#define SUBSCRIBER_H
-
-#include <IceUtil/Mutex.h>
-#include <Ice/Current.h> // For Ice::Context
-#include <Ice/Identity.h>
-
-#include <vector>
-
-namespace IceStorm
-{
-
-//
-// Forward declarations.
-//
-class TraceLevels;
-typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr;
-
-//
-// Note that at present this requires to copy the event which isn't
-// nice. If this indeed becomes a bottleneck then either the event can
-// carry a reference to the blob, context & op (while event itself
-// isn't copied), or the op, blob & context can be passed along as
-// arguments (or do copy on write, or some such trick).
-//
-struct Event
-{
- bool forwarded;
- int cost;
- std::string op;
- bool nonmutating;
- std::vector< Ice::Byte> data;
- Ice::Context context;
-};
-
-//
-// Subscriber interface.
-//
-class Subscriber : public virtual IceUtil::Shared
-{
-public:
-
- Subscriber(const TraceLevelsPtr& traceLevels, const Ice::Identity&);
- ~Subscriber();
-
- virtual bool persistent() const = 0;
-
- //
- // Return true if the Subscriber is not active, false otherwise.
- //
- bool inactive() const;
-
- //
- // Retrieve true if the Subscriber is in the error state, false
- // otherwise.
- //
- bool error() const;
-
- //
- // Retrieve the identity of the Subscriber.
- //
- Ice::Identity id() const;
-
- //
- // Unsubscribe. Mark the state as Unsubscribed.
- //
- virtual void unsubscribe() = 0;
-
- //
- // Unsubscribe. Mark the state as Replaced.
- //
- virtual void replace() = 0;
-
- //
- // Publish the given event. Mark the state as Error in the event of
- // a problem.
- //
- virtual void publish(const Event&) = 0;
-
-protected:
-
- // Immutable
- TraceLevelsPtr _traceLevels;
-
- //
- // Subscriber state.
- //
- enum State
- {
- //
- // The Subscriber is active.
- //
- StateActive,
- //
- // The Subscriber encountered an error during event
- // transmission.
- //
- StateError,
- //
- // The Subscriber has been unsubscribed.
- //
- StateUnsubscribed,
- //
- // The Subscriber has been replaced.
- //
- StateReplaced
- };
-
- IceUtil::Mutex _stateMutex;
- State _state;
-
-private:
-
- //
- // This id is the full id of the subscriber for a particular topic.
- //
- // Immutable.
- //
- Ice::Identity _id;
-};
-
-typedef IceUtil::Handle<Subscriber> SubscriberPtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef SUBSCRIBER_H +#define SUBSCRIBER_H + +#include <IceUtil/Mutex.h> +#include <Ice/Current.h> // For Ice::Context +#include <Ice/Identity.h> + +#include <vector> + +namespace IceStorm +{ + +// +// Forward declarations. +// +class TraceLevels; +typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; + +// +// Note that at present this requires to copy the event which isn't +// nice. If this indeed becomes a bottleneck then either the event can +// carry a reference to the blob, context & op (while event itself +// isn't copied), or the op, blob & context can be passed along as +// arguments (or do copy on write, or some such trick). +// +struct Event +{ + bool forwarded; + int cost; + std::string op; + bool nonmutating; + std::vector< Ice::Byte> data; + Ice::Context context; +}; + +// +// Subscriber interface. +// +class Subscriber : public virtual IceUtil::Shared +{ +public: + + Subscriber(const TraceLevelsPtr& traceLevels, const Ice::Identity&); + ~Subscriber(); + + virtual bool persistent() const = 0; + + // + // Return true if the Subscriber is not active, false otherwise. + // + bool inactive() const; + + // + // Retrieve true if the Subscriber is in the error state, false + // otherwise. + // + bool error() const; + + // + // Retrieve the identity of the Subscriber. + // + Ice::Identity id() const; + + // + // Unsubscribe. Mark the state as Unsubscribed. + // + virtual void unsubscribe() = 0; + + // + // Unsubscribe. Mark the state as Replaced. + // + virtual void replace() = 0; + + // + // Publish the given event. Mark the state as Error in the event of + // a problem. + // + virtual void publish(const Event&) = 0; + +protected: + + // Immutable + TraceLevelsPtr _traceLevels; + + // + // Subscriber state. + // + enum State + { + // + // The Subscriber is active. + // + StateActive, + // + // The Subscriber encountered an error during event + // transmission. + // + StateError, + // + // The Subscriber has been unsubscribed. + // + StateUnsubscribed, + // + // The Subscriber has been replaced. + // + StateReplaced + }; + + IceUtil::Mutex _stateMutex; + State _state; + +private: + + // + // This id is the full id of the subscriber for a particular topic. + // + // Immutable. + // + Ice::Identity _id; +}; + +typedef IceUtil::Handle<Subscriber> SubscriberPtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/SubscriberFactory.h b/cpp/src/IceStorm/SubscriberFactory.h index 904f8d35b5f..9e6ee95e2af 100644 --- a/cpp/src/IceStorm/SubscriberFactory.h +++ b/cpp/src/IceStorm/SubscriberFactory.h @@ -1,62 +1,62 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef SUBSCRIBER_FACTORY_H
-#define SUBSCRIBER_FACTORY_H
-
-#include <IceStorm/IceStormInternal.h> // For QoS, TopicLink
-
-namespace IceStorm
-{
-
-//
-// Forward declarations.
-//
-class TraceLevels;
-typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr;
-
-class Subscriber;
-typedef IceUtil::Handle<Subscriber> SubscriberPtr;
-
-class Flusher;
-typedef IceUtil::Handle<Flusher> FlusherPtr;
-
-//
-// Factory object that knows how to create various type of Subscriber
-// objects.
-//
-class SubscriberFactory : public IceUtil::Shared
-{
-public:
-
- SubscriberFactory(const TraceLevelsPtr&, const FlusherPtr&);
-
- //
- // Create a link subscriber (that is a subscriber that points to
- // another topic instance).
- //
- SubscriberPtr createLinkSubscriber(const TopicLinkPrx&, Ice::Int);
-
- //
- // Create a Subscriber with the given QoS.
- //
- SubscriberPtr createSubscriber(const QoS&, const Ice::ObjectPrx&);
-
-private:
-
- TraceLevelsPtr _traceLevels;
- FlusherPtr _flusher;
-};
-
-typedef IceUtil::Handle<SubscriberFactory> SubscriberFactoryPtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef SUBSCRIBER_FACTORY_H +#define SUBSCRIBER_FACTORY_H + +#include <IceStorm/IceStormInternal.h> // For QoS, TopicLink + +namespace IceStorm +{ + +// +// Forward declarations. +// +class TraceLevels; +typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; + +class Subscriber; +typedef IceUtil::Handle<Subscriber> SubscriberPtr; + +class Flusher; +typedef IceUtil::Handle<Flusher> FlusherPtr; + +// +// Factory object that knows how to create various type of Subscriber +// objects. +// +class SubscriberFactory : public IceUtil::Shared +{ +public: + + SubscriberFactory(const TraceLevelsPtr&, const FlusherPtr&); + + // + // Create a link subscriber (that is a subscriber that points to + // another topic instance). + // + SubscriberPtr createLinkSubscriber(const TopicLinkPrx&, Ice::Int); + + // + // Create a Subscriber with the given QoS. + // + SubscriberPtr createSubscriber(const QoS&, const Ice::ObjectPrx&); + +private: + + TraceLevelsPtr _traceLevels; + FlusherPtr _flusher; +}; + +typedef IceUtil::Handle<SubscriberFactory> SubscriberFactoryPtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/TopicI.h b/cpp/src/IceStorm/TopicI.h index f3f1a79ffcf..67153cfda6c 100644 --- a/cpp/src/IceStorm/TopicI.h +++ b/cpp/src/IceStorm/TopicI.h @@ -1,92 +1,92 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef TOPIC_I_H
-#define TOPIC_I_H
-
-#include <IceUtil/RecMutex.h>
-#include <IceStorm/IceStormInternal.h>
-#include <IceStorm/IdentityLinkDict.h>
-#include <IceStorm/SubscriberFactory.h>
-
-namespace IceStorm
-{
-
-//
-// Forward declarations.
-//
-class TopicSubscribers;
-typedef IceUtil::Handle<TopicSubscribers> TopicSubscribersPtr;
-
-class TraceLevels;
-typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr;
-
-class SubscriberFactory;
-typedef IceUtil::Handle<SubscriberFactory> SubscriberFactoryPtr;
-
-//
-// TopicInternal implementation.
-//
-class TopicI : public TopicInternal, public IceUtil::RecMutex
-{
-public:
-
- TopicI(const Ice::ObjectAdapterPtr&, const TraceLevelsPtr&, const std::string&, const SubscriberFactoryPtr&,
- const Freeze::DBPtr&);
- ~TopicI();
-
- virtual std::string getName(const Ice::Current&);
- virtual Ice::ObjectPrx getPublisher(const Ice::Current&);
- virtual void destroy(const Ice::Current&);
- virtual void link(const TopicPrx&, Ice::Int, const Ice::Current&);
- virtual void unlink(const TopicPrx&, const Ice::Current&);
- virtual LinkInfoSeq getLinkInfoSeq(const Ice::Current&);
-
- virtual TopicLinkPrx getLinkProxy(const Ice::Current&);
-
- // Internal methods
- bool destroyed() const;
- void subscribe(const Ice::ObjectPrx&, const QoS&);
- void unsubscribe(const Ice::ObjectPrx&);
-
- void reap();
-
-private:
-
- //
- // Immutable members.
- //
- Ice::ObjectAdapterPtr _adapter;
- TraceLevelsPtr _traceLevels;
- std::string _name; // The topic name
- SubscriberFactoryPtr _factory;
-
- Ice::ObjectPtr _publisher; // Publisher & associated proxy
- Ice::ObjectPrx _publisherPrx;
-
- Ice::ObjectPtr _link; // TopicLink & associated proxy
- TopicLinkPrx _linkPrx;
-
- //
- // Mutable members. Protected by *this
- //
- bool _destroyed; // Has this Topic been destroyed?
-
- TopicSubscribersPtr _subscribers; // Set of Subscribers
-
- IdentityLinkDict _links; // The database of Topic links
- Freeze::DBPtr _linksDb;
-};
-
-typedef IceUtil::Handle<TopicI> TopicIPtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef TOPIC_I_H +#define TOPIC_I_H + +#include <IceUtil/RecMutex.h> +#include <IceStorm/IceStormInternal.h> +#include <IceStorm/IdentityLinkDict.h> +#include <IceStorm/SubscriberFactory.h> + +namespace IceStorm +{ + +// +// Forward declarations. +// +class TopicSubscribers; +typedef IceUtil::Handle<TopicSubscribers> TopicSubscribersPtr; + +class TraceLevels; +typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; + +class SubscriberFactory; +typedef IceUtil::Handle<SubscriberFactory> SubscriberFactoryPtr; + +// +// TopicInternal implementation. +// +class TopicI : public TopicInternal, public IceUtil::RecMutex +{ +public: + + TopicI(const Ice::ObjectAdapterPtr&, const TraceLevelsPtr&, const std::string&, const SubscriberFactoryPtr&, + const Freeze::DBPtr&); + ~TopicI(); + + virtual std::string getName(const Ice::Current&); + virtual Ice::ObjectPrx getPublisher(const Ice::Current&); + virtual void destroy(const Ice::Current&); + virtual void link(const TopicPrx&, Ice::Int, const Ice::Current&); + virtual void unlink(const TopicPrx&, const Ice::Current&); + virtual LinkInfoSeq getLinkInfoSeq(const Ice::Current&); + + virtual TopicLinkPrx getLinkProxy(const Ice::Current&); + + // Internal methods + bool destroyed() const; + void subscribe(const Ice::ObjectPrx&, const QoS&); + void unsubscribe(const Ice::ObjectPrx&); + + void reap(); + +private: + + // + // Immutable members. + // + Ice::ObjectAdapterPtr _adapter; + TraceLevelsPtr _traceLevels; + std::string _name; // The topic name + SubscriberFactoryPtr _factory; + + Ice::ObjectPtr _publisher; // Publisher & associated proxy + Ice::ObjectPrx _publisherPrx; + + Ice::ObjectPtr _link; // TopicLink & associated proxy + TopicLinkPrx _linkPrx; + + // + // Mutable members. Protected by *this + // + bool _destroyed; // Has this Topic been destroyed? + + TopicSubscribersPtr _subscribers; // Set of Subscribers + + IdentityLinkDict _links; // The database of Topic links + Freeze::DBPtr _linksDb; +}; + +typedef IceUtil::Handle<TopicI> TopicIPtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/TopicManagerI.h b/cpp/src/IceStorm/TopicManagerI.h index 993cf1a5d0a..0aa5b91f784 100644 --- a/cpp/src/IceStorm/TopicManagerI.h +++ b/cpp/src/IceStorm/TopicManagerI.h @@ -1,78 +1,78 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef TOPIC_MANAGER_I_H
-#define TOPIC_MANAGER_I_H
-
-#include <IceStorm/IceStorm.h>
-#include <IceStorm/StringBoolDict.h>
-
-namespace IceStorm
-{
-
-//
-// Forward declarations.
-//
-class TopicI;
-typedef IceUtil::Handle<TopicI> TopicIPtr;
-
-class TraceLevels;
-typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr;
-
-class Flusher;
-typedef IceUtil::Handle<Flusher> FlusherPtr;
-
-class SubscriberFactory;
-typedef IceUtil::Handle<SubscriberFactory> SubscriberFactoryPtr;
-
-//
-// Map of TopicImplementation objects.
-//
-typedef std::map<std::string, TopicIPtr> TopicIMap;
-
-//
-// TopicManager implementation.
-//
-class TopicManagerI : public TopicManager, public IceUtil::Mutex
-{
-public:
-
- TopicManagerI(const Ice::CommunicatorPtr&, const Ice::ObjectAdapterPtr&, const TraceLevelsPtr&,
- const Freeze::DBEnvironmentPtr&, const Freeze::DBPtr&);
- ~TopicManagerI();
-
- virtual TopicPrx create(const std::string&, const Ice::Current&);
- virtual TopicPrx retrieve(const std::string&, const Ice::Current&);
- virtual TopicDict retrieveAll(const Ice::Current&);
- virtual void subscribe(const QoS&, const Ice::ObjectPrx&, const Ice::Current&);
- virtual void unsubscribe(const Ice::ObjectPrx&, const Ice::Current&);
- virtual void shutdown(const Ice::Current&);
-
- void reap();
-
-private:
-
- void installTopic(const std::string&, const std::string&, bool);
-
- Ice::CommunicatorPtr _communicator;
- Ice::ObjectAdapterPtr _adapter;
- TraceLevelsPtr _traceLevels;
- TopicIMap _topicIMap;
- FlusherPtr _flusher;
- SubscriberFactoryPtr _factory;
- Freeze::DBEnvironmentPtr _dbEnv;
- StringBoolDict _topics;
-};
-
-typedef IceUtil::Handle<TopicManagerI> TopicManagerIPtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef TOPIC_MANAGER_I_H +#define TOPIC_MANAGER_I_H + +#include <IceStorm/IceStorm.h> +#include <IceStorm/StringBoolDict.h> + +namespace IceStorm +{ + +// +// Forward declarations. +// +class TopicI; +typedef IceUtil::Handle<TopicI> TopicIPtr; + +class TraceLevels; +typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; + +class Flusher; +typedef IceUtil::Handle<Flusher> FlusherPtr; + +class SubscriberFactory; +typedef IceUtil::Handle<SubscriberFactory> SubscriberFactoryPtr; + +// +// Map of TopicImplementation objects. +// +typedef std::map<std::string, TopicIPtr> TopicIMap; + +// +// TopicManager implementation. +// +class TopicManagerI : public TopicManager, public IceUtil::Mutex +{ +public: + + TopicManagerI(const Ice::CommunicatorPtr&, const Ice::ObjectAdapterPtr&, const TraceLevelsPtr&, + const Freeze::DBEnvironmentPtr&, const Freeze::DBPtr&); + ~TopicManagerI(); + + virtual TopicPrx create(const std::string&, const Ice::Current&); + virtual TopicPrx retrieve(const std::string&, const Ice::Current&); + virtual TopicDict retrieveAll(const Ice::Current&); + virtual void subscribe(const QoS&, const Ice::ObjectPrx&, const Ice::Current&); + virtual void unsubscribe(const Ice::ObjectPrx&, const Ice::Current&); + virtual void shutdown(const Ice::Current&); + + void reap(); + +private: + + void installTopic(const std::string&, const std::string&, bool); + + Ice::CommunicatorPtr _communicator; + Ice::ObjectAdapterPtr _adapter; + TraceLevelsPtr _traceLevels; + TopicIMap _topicIMap; + FlusherPtr _flusher; + SubscriberFactoryPtr _factory; + Freeze::DBEnvironmentPtr _dbEnv; + StringBoolDict _topics; +}; + +typedef IceUtil::Handle<TopicManagerI> TopicManagerIPtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/TraceLevels.h b/cpp/src/IceStorm/TraceLevels.h index e971dd28169..fbc08dc4d6f 100644 --- a/cpp/src/IceStorm/TraceLevels.h +++ b/cpp/src/IceStorm/TraceLevels.h @@ -1,47 +1,47 @@ -// **********************************************************************
-//
-// Copyright (c) 2002
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef ICE_STORM_TRACE_LEVELS_H
-#define ICE_STORM_TRACE_LEVELS_H
-
-#include <IceUtil/Shared.h>
-#include <Ice/PropertiesF.h>
-#include <Ice/LoggerF.h>
-
-namespace IceStorm
-{
-
-class TraceLevels : public ::IceUtil::Shared
-{
-public:
-
- TraceLevels(const ::Ice::PropertiesPtr&, const Ice::LoggerPtr&);
- virtual ~TraceLevels();
-
- const int topicMgr;
- const char* topicMgrCat;
-
- const int topic;
- const char* topicCat;
-
- const int flush;
- const char* flushCat;
-
- const int subscriber;
- const char* subscriberCat;
-
- const Ice::LoggerPtr logger;
-};
-
-typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr;
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2002 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef ICE_STORM_TRACE_LEVELS_H +#define ICE_STORM_TRACE_LEVELS_H + +#include <IceUtil/Shared.h> +#include <Ice/PropertiesF.h> +#include <Ice/LoggerF.h> + +namespace IceStorm +{ + +class TraceLevels : public ::IceUtil::Shared +{ +public: + + TraceLevels(const ::Ice::PropertiesPtr&, const Ice::LoggerPtr&); + virtual ~TraceLevels(); + + const int topicMgr; + const char* topicMgrCat; + + const int topic; + const char* topicCat; + + const int flush; + const char* flushCat; + + const int subscriber; + const char* subscriberCat; + + const Ice::LoggerPtr logger; +}; + +typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/WeightedGraph.h b/cpp/src/IceStorm/WeightedGraph.h index c0465ebd7f3..edbaa55a265 100644 --- a/cpp/src/IceStorm/WeightedGraph.h +++ b/cpp/src/IceStorm/WeightedGraph.h @@ -1,116 +1,116 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef WEIGHTED_GRAPH_H
-#define WEIGHTED_GRAPH_H
-
-#include <IceUtil/Config.h>
-#include <vector>
-#include <list>
-#include <map>
-
-namespace IceStorm
-{
-
-//
-// Forward declaration.
-//
-class SAXGraphHandler;
-
-//
-// A weighted graph. This class uses internally a vertex, adjacency
-// matrix representation. Each vertex has a name. The [i,j] of the
-// adjacency graph represents the the edge from _vertices[i] to
-// _vertices[j].
-//
-class WeightedGraph
-{
-public:
-
- WeightedGraph(bool = false);
- ~WeightedGraph();
-
- //
- // Parse the graph from the given XML file. Returns false in event
- // of a parse error.
- //
- bool parse(const std::string&);
-
- //
- // Compute a new adjacency matrix with the given cost.
- //
- void compute(std::vector<int>&, int);
-
- //
- // Render the edge table in ASCII format.
- //
- void dump(std::ostream&);
-
- //
- // Swap the adjacency matrix. This could be actual swap.
- //
- void swap(const std::vector<int>&);
-
- //
- // Get all the vertices.
- //
- std::vector<std::string> getVertices() const;
-
- //
- // Get the set of edges for a vertex. The return data is the name
- // of the second vertex, and the cost.
- //
- std::vector<std::pair<std::string, int> > getEdgesFor(const std::string&) const;
-
-private:
-
- //
- // Recursive function used in computation of new edge set.
- //
- void visit(unsigned int, int, std::list<std::pair<unsigned int, int> >&, int);
-
- //
- // Callbacks from parsing routines
- //
- void addVertex(const std::string&);
- void addEdge(const std::string&, const std::string&, int);
-
- void error();
-
- //
- // List of vertices.
- //
- std::vector<std::string> _vertices;
-
- //
- // Lookup table - maps from vertex name to vertex index.
- //
- std::map<std::string, int> _vlookup;
-
- //
- // The adjacency matrix. -1 indicates no edge, otherwise the value
- // is the cost.
- //
- std::vector<int> _edges;
-
- //
- // Is the graph reflective? That is if there is edge (v1, v2,
- // cost) then there is (v2, v1, cost).
- //
- bool _reflective;
-
- int _error;
-
- friend class SAXGraphHandler;
-};
-
-} // End namespace IceStorm
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef WEIGHTED_GRAPH_H +#define WEIGHTED_GRAPH_H + +#include <IceUtil/Config.h> +#include <vector> +#include <list> +#include <map> + +namespace IceStorm +{ + +// +// Forward declaration. +// +class SAXGraphHandler; + +// +// A weighted graph. This class uses internally a vertex, adjacency +// matrix representation. Each vertex has a name. The [i,j] of the +// adjacency graph represents the the edge from _vertices[i] to +// _vertices[j]. +// +class WeightedGraph +{ +public: + + WeightedGraph(bool = false); + ~WeightedGraph(); + + // + // Parse the graph from the given XML file. Returns false in event + // of a parse error. + // + bool parse(const std::string&); + + // + // Compute a new adjacency matrix with the given cost. + // + void compute(std::vector<int>&, int); + + // + // Render the edge table in ASCII format. + // + void dump(std::ostream&); + + // + // Swap the adjacency matrix. This could be actual swap. + // + void swap(const std::vector<int>&); + + // + // Get all the vertices. + // + std::vector<std::string> getVertices() const; + + // + // Get the set of edges for a vertex. The return data is the name + // of the second vertex, and the cost. + // + std::vector<std::pair<std::string, int> > getEdgesFor(const std::string&) const; + +private: + + // + // Recursive function used in computation of new edge set. + // + void visit(unsigned int, int, std::list<std::pair<unsigned int, int> >&, int); + + // + // Callbacks from parsing routines + // + void addVertex(const std::string&); + void addEdge(const std::string&, const std::string&, int); + + void error(); + + // + // List of vertices. + // + std::vector<std::string> _vertices; + + // + // Lookup table - maps from vertex name to vertex index. + // + std::map<std::string, int> _vlookup; + + // + // The adjacency matrix. -1 indicates no edge, otherwise the value + // is the cost. + // + std::vector<int> _edges; + + // + // Is the graph reflective? That is if there is edge (v1, v2, + // cost) then there is (v2, v1, cost). + // + bool _reflective; + + int _error; + + friend class SAXGraphHandler; +}; + +} // End namespace IceStorm + +#endif diff --git a/cpp/src/IceStorm/dummyinclude/unistd.h b/cpp/src/IceStorm/dummyinclude/unistd.h index a5868056a35..92d53d10b9b 100644 --- a/cpp/src/IceStorm/dummyinclude/unistd.h +++ b/cpp/src/IceStorm/dummyinclude/unistd.h @@ -1,4 +1,4 @@ -//
-// Files generated by flex need unistd.h, which is not available on
-// Windows. Thus this dummy file.
-//
+// +// Files generated by flex need unistd.h, which is not available on +// Windows. Thus this dummy file. +// diff --git a/cpp/src/Slice/GrammarUtil.h b/cpp/src/Slice/GrammarUtil.h index 6c59d265b8a..d26447b9fe6 100644 --- a/cpp/src/Slice/GrammarUtil.h +++ b/cpp/src/Slice/GrammarUtil.h @@ -1,135 +1,135 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef SLICE_GRAMMER_UTIL_H
-#define SLICE_GRAMMER_UTIL_H
-
-#include <Slice/Parser.h>
-
-namespace Slice
-{
-
-class StringTok;
-class StringListTok;
-class TypeStringTok;
-class TypeStringListTok;
-class BoolTok;
-class ExceptionListTok;
-class ClassListTok;
-class EnumeratorListTok;
-
-typedef ::IceUtil::Handle<StringTok> StringTokPtr;
-typedef ::IceUtil::Handle<StringListTok> StringListTokPtr;
-typedef ::IceUtil::Handle<TypeStringTok> TypeStringTokPtr;
-typedef ::IceUtil::Handle<TypeStringListTok> TypeStringListTokPtr;
-typedef ::IceUtil::Handle<BoolTok> BoolTokPtr;
-typedef ::IceUtil::Handle<ExceptionListTok> ExceptionListTokPtr;
-typedef ::IceUtil::Handle<ClassListTok> ClassListTokPtr;
-typedef ::IceUtil::Handle<EnumeratorListTok> EnumeratorListTokPtr;
-
-// ----------------------------------------------------------------------
-// StringTok
-// ----------------------------------------------------------------------
-
-class SLICE_API StringTok : public GrammarBase
-{
-public:
-
- StringTok() { }
- std::string v;
-};
-
-// ----------------------------------------------------------------------
-// StringListTok
-// ----------------------------------------------------------------------
-
-class SLICE_API StringListTok : public GrammarBase
-{
-public:
-
- StringListTok() { }
- StringList v;
-};
-
-// ----------------------------------------------------------------------
-// TypeStringTok
-// ----------------------------------------------------------------------
-
-class SLICE_API TypeStringTok : public GrammarBase
-{
-public:
-
- TypeStringTok() { }
- TypeString v;
-};
-
-// ----------------------------------------------------------------------
-// TypeStringListTok
-// ----------------------------------------------------------------------
-
-class SLICE_API TypeStringListTok : public GrammarBase
-{
-public:
-
- TypeStringListTok() { }
- TypeStringList v;
-};
-
-// ----------------------------------------------------------------------
-// BoolTok
-// ----------------------------------------------------------------------
-
-class SLICE_API BoolTok : public GrammarBase
-{
-public:
-
- BoolTok() { }
- bool v;
-};
-
-// ----------------------------------------------------------------------
-// ExceptionListTok
-// ----------------------------------------------------------------------
-
-class SLICE_API ExceptionListTok : public GrammarBase
-{
-public:
-
- ExceptionListTok() { }
- ExceptionList v;
-};
-
-// ----------------------------------------------------------------------
-// ClassListTok
-// ----------------------------------------------------------------------
-
-class SLICE_API ClassListTok : public GrammarBase
-{
-public:
-
- ClassListTok() { }
- ClassList v;
-};
-
-// ----------------------------------------------------------------------
-// EnumeratorListTok
-// ----------------------------------------------------------------------
-
-class SLICE_API EnumeratorListTok : public GrammarBase
-{
-public:
-
- EnumeratorListTok() { }
- EnumeratorList v;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef SLICE_GRAMMER_UTIL_H +#define SLICE_GRAMMER_UTIL_H + +#include <Slice/Parser.h> + +namespace Slice +{ + +class StringTok; +class StringListTok; +class TypeStringTok; +class TypeStringListTok; +class BoolTok; +class ExceptionListTok; +class ClassListTok; +class EnumeratorListTok; + +typedef ::IceUtil::Handle<StringTok> StringTokPtr; +typedef ::IceUtil::Handle<StringListTok> StringListTokPtr; +typedef ::IceUtil::Handle<TypeStringTok> TypeStringTokPtr; +typedef ::IceUtil::Handle<TypeStringListTok> TypeStringListTokPtr; +typedef ::IceUtil::Handle<BoolTok> BoolTokPtr; +typedef ::IceUtil::Handle<ExceptionListTok> ExceptionListTokPtr; +typedef ::IceUtil::Handle<ClassListTok> ClassListTokPtr; +typedef ::IceUtil::Handle<EnumeratorListTok> EnumeratorListTokPtr; + +// ---------------------------------------------------------------------- +// StringTok +// ---------------------------------------------------------------------- + +class SLICE_API StringTok : public GrammarBase +{ +public: + + StringTok() { } + std::string v; +}; + +// ---------------------------------------------------------------------- +// StringListTok +// ---------------------------------------------------------------------- + +class SLICE_API StringListTok : public GrammarBase +{ +public: + + StringListTok() { } + StringList v; +}; + +// ---------------------------------------------------------------------- +// TypeStringTok +// ---------------------------------------------------------------------- + +class SLICE_API TypeStringTok : public GrammarBase +{ +public: + + TypeStringTok() { } + TypeString v; +}; + +// ---------------------------------------------------------------------- +// TypeStringListTok +// ---------------------------------------------------------------------- + +class SLICE_API TypeStringListTok : public GrammarBase +{ +public: + + TypeStringListTok() { } + TypeStringList v; +}; + +// ---------------------------------------------------------------------- +// BoolTok +// ---------------------------------------------------------------------- + +class SLICE_API BoolTok : public GrammarBase +{ +public: + + BoolTok() { } + bool v; +}; + +// ---------------------------------------------------------------------- +// ExceptionListTok +// ---------------------------------------------------------------------- + +class SLICE_API ExceptionListTok : public GrammarBase +{ +public: + + ExceptionListTok() { } + ExceptionList v; +}; + +// ---------------------------------------------------------------------- +// ClassListTok +// ---------------------------------------------------------------------- + +class SLICE_API ClassListTok : public GrammarBase +{ +public: + + ClassListTok() { } + ClassList v; +}; + +// ---------------------------------------------------------------------- +// EnumeratorListTok +// ---------------------------------------------------------------------- + +class SLICE_API EnumeratorListTok : public GrammarBase +{ +public: + + EnumeratorListTok() { } + EnumeratorList v; +}; + +} + +#endif diff --git a/cpp/src/Slice/dummyinclude/unistd.h b/cpp/src/Slice/dummyinclude/unistd.h index a5868056a35..92d53d10b9b 100644 --- a/cpp/src/Slice/dummyinclude/unistd.h +++ b/cpp/src/Slice/dummyinclude/unistd.h @@ -1,4 +1,4 @@ -//
-// Files generated by flex need unistd.h, which is not available on
-// Windows. Thus this dummy file.
-//
+// +// Files generated by flex need unistd.h, which is not available on +// Windows. Thus this dummy file. +// diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h index 7e7d4abc0bb..71ca45f81cc 100644 --- a/cpp/src/slice2cpp/Gen.h +++ b/cpp/src/slice2cpp/Gen.h @@ -1,294 +1,294 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef GEN_H
-#define GEN_H
-
-#include <Slice/Parser.h>
-#include <IceUtil/OutputUtil.h>
-
-namespace Slice
-{
-
-class Gen : public ::IceUtil::noncopyable
-{
-public:
-
- Gen(const std::string&,
- const std::string&,
- const std::string&,
- const std::vector<std::string>&,
- const std::string&,
- const std::string&,
- bool);
- ~Gen();
-
- bool operator!() const; // Returns true if there was a constructor error
-
- void generate(const UnitPtr&);
-
-private:
-
- ::IceUtil::Output H;
- ::IceUtil::Output C;
-
- ::IceUtil::Output implH;
- ::IceUtil::Output implC;
-
- std::string _base;
- std::string _include;
- std::vector<std::string> _includePaths;
- std::string _dllExport;
- bool _impl;
-
- class TypesVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- TypesVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual bool visitExceptionStart(const ExceptionPtr&);
- virtual void visitExceptionEnd(const ExceptionPtr&);
- virtual bool visitStructStart(const StructPtr&);
- virtual void visitStructEnd(const StructPtr&);
- virtual void visitSequence(const SequencePtr&);
- virtual void visitDictionary(const DictionaryPtr&);
- virtual void visitEnum(const EnumPtr&);
- virtual void visitDataMember(const DataMemberPtr&);
-
- private:
-
- void emitExceptionBase(const ExceptionPtr&, const std::string&);
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class ProxyDeclVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- ProxyDeclVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitUnitStart(const UnitPtr&);
- virtual void visitUnitEnd(const UnitPtr&);
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual void visitClassDecl(const ClassDeclPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class ProxyVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- ProxyVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitUnitStart(const UnitPtr&);
- virtual void visitUnitEnd(const UnitPtr&);
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual void visitOperation(const OperationPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class DelegateVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- DelegateVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitUnitStart(const UnitPtr&);
- virtual void visitUnitEnd(const UnitPtr&);
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual void visitOperation(const OperationPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class DelegateMVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- DelegateMVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitUnitStart(const UnitPtr&);
- virtual void visitUnitEnd(const UnitPtr&);
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual void visitOperation(const OperationPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class DelegateDVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- DelegateDVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitUnitStart(const UnitPtr&);
- virtual void visitUnitEnd(const UnitPtr&);
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual void visitOperation(const OperationPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class ObjectDeclVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- ObjectDeclVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual void visitClassDecl(const ClassDeclPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class ObjectVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- ObjectVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual bool visitExceptionStart(const ExceptionPtr&);
- virtual bool visitStructStart(const StructPtr&);
- virtual void visitOperation(const OperationPtr&);
- virtual void visitDataMember(const DataMemberPtr&);
-
- private:
-
- void emitClassBase(const ClassDefPtr&, const std::string&);
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class IceInternalVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- IceInternalVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitUnitStart(const UnitPtr&);
- virtual void visitUnitEnd(const UnitPtr&);
- virtual void visitClassDecl(const ClassDeclPtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class HandleVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- HandleVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual void visitClassDecl(const ClassDeclPtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
- };
-
- class ImplVisitor : public ::IceUtil::noncopyable, public ParserVisitor
- {
- public:
-
- ImplVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&);
-
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitModuleEnd(const ModulePtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
-
- private:
-
- ::IceUtil::Output& H;
- ::IceUtil::Output& C;
-
- std::string _dllExport;
-
- //
- // Generate code to return a dummy value
- //
- void writeReturn(::IceUtil::Output&, const TypePtr&);
- };
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef GEN_H +#define GEN_H + +#include <Slice/Parser.h> +#include <IceUtil/OutputUtil.h> + +namespace Slice +{ + +class Gen : public ::IceUtil::noncopyable +{ +public: + + Gen(const std::string&, + const std::string&, + const std::string&, + const std::vector<std::string>&, + const std::string&, + const std::string&, + bool); + ~Gen(); + + bool operator!() const; // Returns true if there was a constructor error + + void generate(const UnitPtr&); + +private: + + ::IceUtil::Output H; + ::IceUtil::Output C; + + ::IceUtil::Output implH; + ::IceUtil::Output implC; + + std::string _base; + std::string _include; + std::vector<std::string> _includePaths; + std::string _dllExport; + bool _impl; + + class TypesVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + TypesVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual bool visitExceptionStart(const ExceptionPtr&); + virtual void visitExceptionEnd(const ExceptionPtr&); + virtual bool visitStructStart(const StructPtr&); + virtual void visitStructEnd(const StructPtr&); + virtual void visitSequence(const SequencePtr&); + virtual void visitDictionary(const DictionaryPtr&); + virtual void visitEnum(const EnumPtr&); + virtual void visitDataMember(const DataMemberPtr&); + + private: + + void emitExceptionBase(const ExceptionPtr&, const std::string&); + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class ProxyDeclVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + ProxyDeclVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitUnitStart(const UnitPtr&); + virtual void visitUnitEnd(const UnitPtr&); + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual void visitClassDecl(const ClassDeclPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class ProxyVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + ProxyVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitUnitStart(const UnitPtr&); + virtual void visitUnitEnd(const UnitPtr&); + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual void visitOperation(const OperationPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class DelegateVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + DelegateVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitUnitStart(const UnitPtr&); + virtual void visitUnitEnd(const UnitPtr&); + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual void visitOperation(const OperationPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class DelegateMVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + DelegateMVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitUnitStart(const UnitPtr&); + virtual void visitUnitEnd(const UnitPtr&); + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual void visitOperation(const OperationPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class DelegateDVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + DelegateDVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitUnitStart(const UnitPtr&); + virtual void visitUnitEnd(const UnitPtr&); + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual void visitOperation(const OperationPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class ObjectDeclVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + ObjectDeclVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual void visitClassDecl(const ClassDeclPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class ObjectVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + ObjectVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual bool visitExceptionStart(const ExceptionPtr&); + virtual bool visitStructStart(const StructPtr&); + virtual void visitOperation(const OperationPtr&); + virtual void visitDataMember(const DataMemberPtr&); + + private: + + void emitClassBase(const ClassDefPtr&, const std::string&); + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class IceInternalVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + IceInternalVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitUnitStart(const UnitPtr&); + virtual void visitUnitEnd(const UnitPtr&); + virtual void visitClassDecl(const ClassDeclPtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class HandleVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + HandleVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual void visitClassDecl(const ClassDeclPtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + }; + + class ImplVisitor : public ::IceUtil::noncopyable, public ParserVisitor + { + public: + + ImplVisitor(::IceUtil::Output&, ::IceUtil::Output&, const std::string&); + + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + + private: + + ::IceUtil::Output& H; + ::IceUtil::Output& C; + + std::string _dllExport; + + // + // Generate code to return a dummy value + // + void writeReturn(::IceUtil::Output&, const TypePtr&); + }; +}; + +} + +#endif diff --git a/cpp/src/slice2docbook/Gen.h b/cpp/src/slice2docbook/Gen.h index e2fad7840d0..c4aa636875d 100644 --- a/cpp/src/slice2docbook/Gen.h +++ b/cpp/src/slice2docbook/Gen.h @@ -1,67 +1,67 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef GEN_H
-#define GEN_H
-
-#include <Slice/Parser.h>
-#include <IceUtil/OutputUtil.h>
-#include <stack>
-
-namespace Slice
-{
-
-class Gen : public ::IceUtil::noncopyable, public ParserVisitor
-{
-public:
-
- Gen(const std::string&, const std::string&, bool, bool, bool);
- virtual ~Gen();
-
- bool operator!() const; // Returns true if there was a constructor error
-
- void generate(const UnitPtr&);
-
- virtual bool visitUnitStart(const UnitPtr&);
- virtual void visitUnitEnd(const UnitPtr&);
- virtual bool visitModuleStart(const ModulePtr&);
- virtual void visitContainer(const ContainerPtr&);
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual bool visitExceptionStart(const ExceptionPtr&);
- virtual bool visitStructStart(const StructPtr&);
- virtual void visitEnum(const EnumPtr&);
-
-private:
-
- void printHeader();
- std::string getComment(const ContainedPtr&, const ContainerPtr&, bool);
- StringList getTagged(const std::string&, std::string&);
- void printMetaData(const ContainedPtr&);
- void printComment(const ContainedPtr&);
- void printSummary(const ContainedPtr&);
- void start(const std::string&);
- void start(const std::string&, const std::string&);
- void end();
-
- std::string containedToId(const ContainedPtr&);
- std::string getScopedMinimized(const ContainedPtr&, const ContainerPtr&);
- std::string toString(const SyntaxTreeBasePtr&, const ContainerPtr&, bool = true);
- std::string toString(const std::string&, const ContainerPtr&, bool = true);
-
- ::IceUtil::XMLOutput O;
-
- bool _standAlone;
- bool _noGlobals;
- std::string _chapter;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef GEN_H +#define GEN_H + +#include <Slice/Parser.h> +#include <IceUtil/OutputUtil.h> +#include <stack> + +namespace Slice +{ + +class Gen : public ::IceUtil::noncopyable, public ParserVisitor +{ +public: + + Gen(const std::string&, const std::string&, bool, bool, bool); + virtual ~Gen(); + + bool operator!() const; // Returns true if there was a constructor error + + void generate(const UnitPtr&); + + virtual bool visitUnitStart(const UnitPtr&); + virtual void visitUnitEnd(const UnitPtr&); + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitContainer(const ContainerPtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual bool visitExceptionStart(const ExceptionPtr&); + virtual bool visitStructStart(const StructPtr&); + virtual void visitEnum(const EnumPtr&); + +private: + + void printHeader(); + std::string getComment(const ContainedPtr&, const ContainerPtr&, bool); + StringList getTagged(const std::string&, std::string&); + void printMetaData(const ContainedPtr&); + void printComment(const ContainedPtr&); + void printSummary(const ContainedPtr&); + void start(const std::string&); + void start(const std::string&, const std::string&); + void end(); + + std::string containedToId(const ContainedPtr&); + std::string getScopedMinimized(const ContainedPtr&, const ContainerPtr&); + std::string toString(const SyntaxTreeBasePtr&, const ContainerPtr&, bool = true); + std::string toString(const std::string&, const ContainerPtr&, bool = true); + + ::IceUtil::XMLOutput O; + + bool _standAlone; + bool _noGlobals; + std::string _chapter; +}; + +} + +#endif diff --git a/cpp/src/slice2java/Gen.h b/cpp/src/slice2java/Gen.h index e08e1a08ccc..02e6128317e 100644 --- a/cpp/src/slice2java/Gen.h +++ b/cpp/src/slice2java/Gen.h @@ -1,244 +1,244 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef GEN_H
-#define GEN_H
-
-#include <Slice/JavaUtil.h>
-
-namespace Slice
-{
-
-class JavaVisitor : public JavaGenerator, public ParserVisitor
-{
-public:
-
- virtual ~JavaVisitor();
-
-protected:
-
- JavaVisitor(const std::string&, const std::string&);
-
- //
- // Compose the parameter list for an operation
- //
- std::string getParams(const OperationPtr&, const std::string&);
-
- //
- // Compose the argument list for an operation
- //
- std::string getArgs(const OperationPtr&, const std::string&);
-
- //
- // Generate a throws clause containing only non-local exceptions
- //
- void writeThrowsClause(const std::string&, const ExceptionList&);
-
- //
- // Generate a throws clause for delegate operations containing only
- // non-local exceptions
- //
- void writeDelegateThrowsClause(const std::string&, const ExceptionList&);
-
- //
- // Generate code to compute a hash code for a type
- //
- void writeHashCode(::IceUtil::Output&, const TypePtr&, const std::string&, int&,
- const std::list<std::string>& = std::list<std::string>());
-
- //
- // Generate dispatch methods for a class or interface
- //
- void writeDispatch(::IceUtil::Output&, const ClassDefPtr&);
-};
-
-class Gen : public ::IceUtil::noncopyable
-{
-public:
-
- Gen(const std::string&,
- const std::string&,
- const std::vector<std::string>&,
- const std::string&,
- const std::string&,
- bool);
- ~Gen();
-
- bool operator!() const; // Returns true if there was a constructor error
-
- void generate(const UnitPtr&);
- void generateTie(const UnitPtr&);
- void generateImpl(const UnitPtr&);
- void generateImplTie(const UnitPtr&);
-
-private:
-
- std::string _base;
- std::vector<std::string> _includePaths;
- std::string _package;
- std::string _dir;
- bool _clone;
-
- class OpsVisitor : public JavaVisitor
- {
- public:
-
- OpsVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual void visitOperation(const OperationPtr&);
- };
-
- class TieVisitor : public JavaVisitor
- {
- public:
-
- TieVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- };
-
- class TypesVisitor : public JavaVisitor
- {
- public:
-
- TypesVisitor(const std::string&, const std::string&, bool);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual bool visitExceptionStart(const ExceptionPtr&);
- virtual void visitExceptionEnd(const ExceptionPtr&);
- virtual bool visitStructStart(const StructPtr&);
- virtual void visitStructEnd(const StructPtr&);
- virtual void visitEnum(const EnumPtr&);
- virtual void visitDataMember(const DataMemberPtr&);
-
- private:
-
- bool _clone;
- };
-
- class HolderVisitor : public JavaVisitor
- {
- public:
-
- HolderVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual bool visitStructStart(const StructPtr&);
- virtual void visitSequence(const SequencePtr&);
- virtual void visitDictionary(const DictionaryPtr&);
- virtual void visitEnum(const EnumPtr&);
-
- private:
-
- void writeHolder(const TypePtr&);
- };
-
- class HelperVisitor : public JavaVisitor
- {
- public:
-
- HelperVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitSequence(const SequencePtr&);
- virtual void visitDictionary(const DictionaryPtr&);
- };
-
- class ProxyVisitor : public JavaVisitor
- {
- public:
-
- ProxyVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual void visitClassDefEnd(const ClassDefPtr&);
- virtual void visitOperation(const OperationPtr&);
- };
-
- class DelegateVisitor : public JavaVisitor
- {
- public:
-
- DelegateVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- };
-
- class DelegateMVisitor : public JavaVisitor
- {
- public:
-
- DelegateMVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- };
-
- class DelegateDVisitor : public JavaVisitor
- {
- public:
-
- DelegateDVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- };
-
- class DispatcherVisitor : public JavaVisitor
- {
- public:
-
- DispatcherVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- };
-
- class BaseImplVisitor : public JavaVisitor
- {
- protected:
-
- //
- // Generate code to return a value
- //
- void writeReturn(::IceUtil::Output&, const TypePtr&);
-
- //
- // Generate an operation
- //
- void writeOperation(::IceUtil::Output&, const std::string&, const OperationPtr&, bool);
-
- public:
-
- BaseImplVisitor(const std::string&, const std::string&);
- };
-
- class ImplVisitor : public BaseImplVisitor
- {
- public:
-
- ImplVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- };
-
- class ImplTieVisitor : public BaseImplVisitor
- {
- public:
-
- ImplTieVisitor(const std::string&, const std::string&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- };
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef GEN_H +#define GEN_H + +#include <Slice/JavaUtil.h> + +namespace Slice +{ + +class JavaVisitor : public JavaGenerator, public ParserVisitor +{ +public: + + virtual ~JavaVisitor(); + +protected: + + JavaVisitor(const std::string&, const std::string&); + + // + // Compose the parameter list for an operation + // + std::string getParams(const OperationPtr&, const std::string&); + + // + // Compose the argument list for an operation + // + std::string getArgs(const OperationPtr&, const std::string&); + + // + // Generate a throws clause containing only non-local exceptions + // + void writeThrowsClause(const std::string&, const ExceptionList&); + + // + // Generate a throws clause for delegate operations containing only + // non-local exceptions + // + void writeDelegateThrowsClause(const std::string&, const ExceptionList&); + + // + // Generate code to compute a hash code for a type + // + void writeHashCode(::IceUtil::Output&, const TypePtr&, const std::string&, int&, + const std::list<std::string>& = std::list<std::string>()); + + // + // Generate dispatch methods for a class or interface + // + void writeDispatch(::IceUtil::Output&, const ClassDefPtr&); +}; + +class Gen : public ::IceUtil::noncopyable +{ +public: + + Gen(const std::string&, + const std::string&, + const std::vector<std::string>&, + const std::string&, + const std::string&, + bool); + ~Gen(); + + bool operator!() const; // Returns true if there was a constructor error + + void generate(const UnitPtr&); + void generateTie(const UnitPtr&); + void generateImpl(const UnitPtr&); + void generateImplTie(const UnitPtr&); + +private: + + std::string _base; + std::vector<std::string> _includePaths; + std::string _package; + std::string _dir; + bool _clone; + + class OpsVisitor : public JavaVisitor + { + public: + + OpsVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual void visitOperation(const OperationPtr&); + }; + + class TieVisitor : public JavaVisitor + { + public: + + TieVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; + + class TypesVisitor : public JavaVisitor + { + public: + + TypesVisitor(const std::string&, const std::string&, bool); + + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual bool visitExceptionStart(const ExceptionPtr&); + virtual void visitExceptionEnd(const ExceptionPtr&); + virtual bool visitStructStart(const StructPtr&); + virtual void visitStructEnd(const StructPtr&); + virtual void visitEnum(const EnumPtr&); + virtual void visitDataMember(const DataMemberPtr&); + + private: + + bool _clone; + }; + + class HolderVisitor : public JavaVisitor + { + public: + + HolderVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual bool visitStructStart(const StructPtr&); + virtual void visitSequence(const SequencePtr&); + virtual void visitDictionary(const DictionaryPtr&); + virtual void visitEnum(const EnumPtr&); + + private: + + void writeHolder(const TypePtr&); + }; + + class HelperVisitor : public JavaVisitor + { + public: + + HelperVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitSequence(const SequencePtr&); + virtual void visitDictionary(const DictionaryPtr&); + }; + + class ProxyVisitor : public JavaVisitor + { + public: + + ProxyVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual void visitOperation(const OperationPtr&); + }; + + class DelegateVisitor : public JavaVisitor + { + public: + + DelegateVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; + + class DelegateMVisitor : public JavaVisitor + { + public: + + DelegateMVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; + + class DelegateDVisitor : public JavaVisitor + { + public: + + DelegateDVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; + + class DispatcherVisitor : public JavaVisitor + { + public: + + DispatcherVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; + + class BaseImplVisitor : public JavaVisitor + { + protected: + + // + // Generate code to return a value + // + void writeReturn(::IceUtil::Output&, const TypePtr&); + + // + // Generate an operation + // + void writeOperation(::IceUtil::Output&, const std::string&, const OperationPtr&, bool); + + public: + + BaseImplVisitor(const std::string&, const std::string&); + }; + + class ImplVisitor : public BaseImplVisitor + { + public: + + ImplVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; + + class ImplTieVisitor : public BaseImplVisitor + { + public: + + ImplTieVisitor(const std::string&, const std::string&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + }; +}; + +} + +#endif diff --git a/cpp/src/slice2wsdl/Gen.h b/cpp/src/slice2wsdl/Gen.h index 8192dee73a2..e35402764ad 100644 --- a/cpp/src/slice2wsdl/Gen.h +++ b/cpp/src/slice2wsdl/Gen.h @@ -1,59 +1,59 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef GEN_H
-#define GEN_H
-
-#include <Slice/Parser.h>
-#include <stack>
-
-namespace IceUtil
-{
-
-class XMLOutput;
-
-}
-
-namespace Slice
-{
-
-class Gen : public ::IceUtil::noncopyable, public ParserVisitor
-{
-public:
-
- Gen(const std::string&,
- const std::string&,
- const std::string&,
- const std::vector<std::string>&,
- const std::string&);
- virtual ~Gen();
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
-
-private:
-
- void emitMessage(::IceUtil::XMLOutput&, const OperationPtr&);
- void emitOperation(::IceUtil::XMLOutput&, const OperationPtr&);
-
- void printHeader(::IceUtil::XMLOutput&);
-
- std::string containedToId(const ContainedPtr&);
-
- std::string _name;
- std::string _base;
- std::string _include;
- std::string _orgName;
- std::vector<std::string> _includePaths;
- std::string _dir;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef GEN_H +#define GEN_H + +#include <Slice/Parser.h> +#include <stack> + +namespace IceUtil +{ + +class XMLOutput; + +} + +namespace Slice +{ + +class Gen : public ::IceUtil::noncopyable, public ParserVisitor +{ +public: + + Gen(const std::string&, + const std::string&, + const std::string&, + const std::vector<std::string>&, + const std::string&); + virtual ~Gen(); + + virtual bool visitClassDefStart(const ClassDefPtr&); + +private: + + void emitMessage(::IceUtil::XMLOutput&, const OperationPtr&); + void emitOperation(::IceUtil::XMLOutput&, const OperationPtr&); + + void printHeader(::IceUtil::XMLOutput&); + + std::string containedToId(const ContainedPtr&); + + std::string _name; + std::string _base; + std::string _include; + std::string _orgName; + std::vector<std::string> _includePaths; + std::string _dir; +}; + +} + +#endif diff --git a/cpp/src/slice2xsd/Gen.h b/cpp/src/slice2xsd/Gen.h index 2bfb2d5c9f2..aedc4c3af95 100644 --- a/cpp/src/slice2xsd/Gen.h +++ b/cpp/src/slice2xsd/Gen.h @@ -1,63 +1,63 @@ -// **********************************************************************
-//
-// Copyright (c) 2001
-// MutableRealms, Inc.
-// Huntsville, AL, USA
-//
-// All Rights Reserved
-//
-// **********************************************************************
-
-#ifndef GEN_H
-#define GEN_H
-
-#include <Slice/Parser.h>
-#include <IceUtil/OutputUtil.h>
-#include <stack>
-
-namespace Slice
-{
-
-class Gen : public ::IceUtil::noncopyable, public ParserVisitor
-{
-public:
-
- Gen(const std::string&,
- const std::string&,
- const std::string&,
- const std::vector<std::string>&,
- const std::string&);
- virtual ~Gen();
-
- bool operator!() const; // Returns true if there was a constructor error
-
- void generate(const UnitPtr&);
-
- virtual bool visitClassDefStart(const ClassDefPtr&);
- virtual bool visitExceptionStart(const ExceptionPtr&);
- virtual bool visitStructStart(const StructPtr&);
- virtual void visitOperation(const OperationPtr&);
- virtual void visitEnum(const EnumPtr&);
- virtual void visitSequence(const SequencePtr&);
- virtual void visitDictionary(const DictionaryPtr&);
-
-private:
-
- void printHeader();
- void annotate(const ::std::string&);
- void emitElement(const ::std::string&, const TypePtr&);
-
- std::string containedToId(const ContainedPtr&);
- std::string toString(const SyntaxTreeBasePtr&);
-
- ::IceUtil::XMLOutput O;
-
- std::string _base;
- std::string _include;
- std::string _orgName;
- std::vector<std::string> _includePaths;
-};
-
-}
-
-#endif
+// ********************************************************************** +// +// Copyright (c) 2001 +// MutableRealms, Inc. +// Huntsville, AL, USA +// +// All Rights Reserved +// +// ********************************************************************** + +#ifndef GEN_H +#define GEN_H + +#include <Slice/Parser.h> +#include <IceUtil/OutputUtil.h> +#include <stack> + +namespace Slice +{ + +class Gen : public ::IceUtil::noncopyable, public ParserVisitor +{ +public: + + Gen(const std::string&, + const std::string&, + const std::string&, + const std::vector<std::string>&, + const std::string&); + virtual ~Gen(); + + bool operator!() const; // Returns true if there was a constructor error + + void generate(const UnitPtr&); + + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual bool visitExceptionStart(const ExceptionPtr&); + virtual bool visitStructStart(const StructPtr&); + virtual void visitOperation(const OperationPtr&); + virtual void visitEnum(const EnumPtr&); + virtual void visitSequence(const SequencePtr&); + virtual void visitDictionary(const DictionaryPtr&); + +private: + + void printHeader(); + void annotate(const ::std::string&); + void emitElement(const ::std::string&, const TypePtr&); + + std::string containedToId(const ContainedPtr&); + std::string toString(const SyntaxTreeBasePtr&); + + ::IceUtil::XMLOutput O; + + std::string _base; + std::string _include; + std::string _orgName; + std::vector<std::string> _includePaths; +}; + +} + +#endif |