/usr/include/Ice/Incoming.h is in libzeroc-ice35-dev 3.5.1-6.4ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | // **********************************************************************
//
// Copyright (c) 2003-2013 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
#ifndef ICE_INCOMING_H
#define ICE_INCOMING_H
#include <Ice/InstanceF.h>
#include <Ice/ConnectionIF.h>
#include <Ice/ServantLocatorF.h>
#include <Ice/ServantManagerF.h>
#include <Ice/BasicStream.h>
#include <Ice/Object.h>
#include <Ice/Current.h>
#include <Ice/IncomingAsyncF.h>
#include <Ice/ObserverHelper.h>
#include <deque>
namespace IceInternal
{
class ICE_API IncomingBase : private IceUtil::noncopyable
{
public:
void __adopt(IncomingBase&);
BasicStream* __startWriteParams(Ice::FormatType);
void __endWriteParams(bool);
void __writeEmptyParams();
void __writeParamEncaps(const Ice::Byte*, Ice::Int, bool);
void __writeUserException(const Ice::UserException&, Ice::FormatType);
protected:
IncomingBase(Instance*, Ice::ConnectionI*, const Ice::ObjectAdapterPtr&, bool, Ice::Byte, Ice::Int);
IncomingBase(IncomingBase&); // Adopts the argument. It must not be used afterwards.
void __warning(const Ice::Exception&) const;
void __warning(const std::string&) const;
bool __servantLocatorFinished();
void __handleException(const std::exception&);
void __handleException();
Ice::Current _current;
Ice::ObjectPtr _servant;
Ice::ServantLocatorPtr _locator;
Ice::LocalObjectPtr _cookie;
DispatchObserver _observer;
bool _response;
Ice::Byte _compress;
BasicStream _os;
//
// Optimization. The connection may not be deleted while a
// stack-allocated Incoming still holds it.
//
Ice::ConnectionI* _connection;
std::deque<Ice::DispatchInterceptorAsyncCallbackPtr> _interceptorAsyncCallbackQueue;
};
class ICE_API Incoming : public IncomingBase
{
public:
Incoming(Instance*, Ice::ConnectionI*, const Ice::ObjectAdapterPtr&, bool, Ice::Byte, Ice::Int);
const Ice::Current& getCurrent()
{
return _current;
}
void push(const Ice::DispatchInterceptorAsyncCallbackPtr&);
void pop();
void startOver();
void killAsync();
void setActive(IncomingAsync&);
bool isRetriable()
{
return _inParamPos != 0;
}
void invoke(const ServantManagerPtr&, BasicStream*);
// Inlined for speed optimization.
BasicStream* startReadParams()
{
//
// Remember the encoding used by the input parameters, we'll
// encode the response parameters with the same encoding.
//
_current.encoding = _is->startReadEncaps();
return _is;
}
void endReadParams() const
{
_is->endReadEncaps();
}
void readEmptyParams()
{
_current.encoding = _is->skipEmptyEncaps();
}
void readParamEncaps(const Ice::Byte*& v, Ice::Int& sz)
{
_current.encoding = _is->readEncaps(v, sz);
}
private:
BasicStream* _is;
IncomingAsyncPtr _cb;
Ice::Byte* _inParamPos;
};
}
#endif
|