ICE 3.4.2
[php5-ice-freebsdport.git] / cpp / src / Ice / ImplicitContextI.h
blob3c184a0b760e399d95ff26b3c24b86e506b1df9f
1 // **********************************************************************
2 //
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
4 //
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
7 //
8 // **********************************************************************
10 #ifndef ICE_IMPLICIT_CONTEXT_I_H
11 #define ICE_IMPLICIT_CONTEXT_I_H
13 #include <Ice/ImplicitContext.h>
15 namespace Ice
19 // The base class for all ImplicitContext implementations
22 class ImplicitContextI : public ImplicitContext
24 public:
26 static ImplicitContextI* create(const std::string&);
28 #ifdef _WIN32
29 static void cleanupThread();
30 #endif
33 // Marshals the underlying context plus the given context
34 // (entries in the given context overwrite entries in
35 // the underlying context)
37 virtual void write(const Context&, ::IceInternal::BasicStream*) const = 0;
40 // Combines the underlying context plus the given context
41 // (entries in the given context overwrite entries in
42 // the underlying context)
44 virtual void combine(const Context&, Context&) const = 0;
48 typedef IceInternal::Handle<ImplicitContextI> ImplicitContextIPtr;
51 #endif