/usr/include/Ice/SlicedData.h is in libzeroc-ice-dev 3.7.0-5.
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-2017 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_SLICED_DATA_H
#define ICE_SLICED_DATA_H
#include <Ice/SlicedDataF.h>
#include <Ice/GCObject.h>
#include <Ice/Value.h>
namespace Ice
{
//
// SliceInfo encapsulates the details of a slice for an unknown class or exception type.
//
struct ICE_API SliceInfo
#ifndef ICE_CPP11_MAPPING
: public ::IceUtil::Shared
#endif
{
//
// The Slice type ID for this slice.
//
::std::string typeId;
//
// The Slice compact type ID for this slice.
//
int compactId;
//
// The encoded bytes for this slice, including the leading size integer.
//
::std::vector<Byte> bytes;
//
// The class instances referenced by this slice.
//
::std::vector<ValuePtr> instances;
//
// Whether or not the slice contains optional members.
//
bool hasOptionalMembers;
//
// Whether or not this is the last slice.
//
bool isLastSlice;
};
//
// SlicedData holds the slices of unknown types.
//
class ICE_API SlicedData
#ifndef ICE_CPP11_MAPPING
: public ::IceUtil::Shared
#endif
{
public:
#ifndef ICE_CPP11_MAPPING
virtual ~SlicedData();
#endif
SlicedData(const SliceInfoSeq&);
const SliceInfoSeq slices;
//
// Clear the slices to break potential cyclic references.
//
void clear();
#ifndef ICE_CPP11_MAPPING
void _iceGcVisitMembers(IceInternal::GCVisitor&);
#endif
};
//
// Unknown sliced object holds instance of unknown type.
//
class ICE_API UnknownSlicedValue :
#ifdef ICE_CPP11_MAPPING
public Value
#else
public IceInternal::GCObject
#endif
{
public:
UnknownSlicedValue(const std::string&);
#ifdef ICE_CPP11_MAPPING
virtual SlicedDataPtr ice_getSlicedData() const override;
virtual std::string ice_id() const override;
std::shared_ptr<UnknownSlicedValue> ice_clone() const;
virtual void _iceWrite(::Ice::OutputStream*) const override;
virtual void _iceRead(::Ice::InputStream*) override;
protected:
virtual std::shared_ptr<Value> _iceCloneImpl() const override;
#else
virtual SlicedDataPtr ice_getSlicedData() const;
virtual const std::string& ice_id(const Current& = Ice::emptyCurrent) const;
virtual void _iceGcVisitMembers(IceInternal::GCVisitor&);
virtual void _iceWrite(::Ice::OutputStream*) const;
virtual void _iceRead(::Ice::InputStream*);
#endif
private:
const std::string _unknownTypeId;
SlicedDataPtr _slicedData;
};
}
#endif
|