1 // **********************************************************************
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
8 // **********************************************************************
10 #ifndef ICE_IMPLICIT_CONTEXT_I_H
11 #define ICE_IMPLICIT_CONTEXT_I_H
13 #include <Ice/ImplicitContext.h>
19 // The base class for all ImplicitContext implementations
22 class ImplicitContextI
: public ImplicitContext
26 static ImplicitContextI
* create(const std::string
&);
29 static void cleanupThread();
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
;