/usr/share/Ice-3.4.2/slice/IcePatch2/FileServer.ice is in ice34-slice 3.4.2-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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | // **********************************************************************
//
// Copyright (c) 2003-2011 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_PATCH2_FILE_SERVER_ICE
#define ICE_PATCH2_FILE_SERVER_ICE
[["cpp:header-ext:h"]]
#include <IcePatch2/FileInfo.ice>
/**
*
* IcePatch can be used to update file hiearchies in a simple and
* efficient manner. Checksums ensure file integrity, and data is
* compressed before download.
*
**/
module IcePatch2
{
/**
*
* A sequence of byte sequences. Each element is the checksum for a
* partition.
*
**/
sequence<Ice::ByteSeq> ByteSeqSeq;
/**
*
* The <tt>partition</tt> argument for
* {@link FileServer#getFileInfoSeq} was not in the range 0-255.
*
**/
exception PartitionOutOfRangeException
{
};
/**
*
* This exception is raised if {@link FileServer#getFileCompressed} cannot read the
* contents of a file.
*
**/
exception FileAccessException
{
/**
*
* An explanation of the reason for the failure.
*
**/
string reason;
};
/**
*
* The interface that provides access to files.
*
**/
interface FileServer
{
/**
*
* Return the {@link FileInfoSeq} for the specified partition. If the
* partion number is out of range, the operation throws
* {@link PartitionOutOfRangException}.
*
* @param partition The partition number in the range 0-255.
*
* @return A sequence containing the {@link FileInfo} structures for
* files in the specified partition.
*
**/
["ami", "nonmutating", "cpp:const"] idempotent FileInfoSeq getFileInfoSeq(int partition)
throws PartitionOutOfRangeException;
/**
*
* Return the checksums for all partitions.
*
* @return A sequence containing 256 checksums. Partitions with a
* checksum that differs from the previous checksum for the same
* partition contain updated files. Partitions with a checksum
* that is identical to the previous checksum do not contain
* updated files.
*
**/
["nonmutating", "cpp:const"] idempotent ByteSeqSeq getChecksumSeq();
/**
*
* Return the master checksum for all partitions. If this checksum is the same
* as for a previous run, the entire file set is up-to-date.
*
* @return The master checksum for the file set.
*
**/
["nonmutating", "cpp:const"] idempotent Ice::ByteSeq getChecksum();
/**
*
* Read the specified file. If the read operation fails, the
* operation throws {@link FileAccessException}. This operation may only
* return fewer bytes than requested in case there was an
* end-of-file condition.
*
* @param path The pathname (relative to the data directory) for
* the file to be read.
*
* @param pos The file offset at which to begin reading.
*
* @param num The number of bytes to be read.
*
* @return A sequence containing the compressed file contents.
*
**/
["ami", "amd", "nonmutating", "cpp:const", "cpp:array"]
idempotent Ice::ByteSeq getFileCompressed(string path, int pos, int num)
throws FileAccessException;
};
/**
*
* The IcePatch administrative interface. This must only be
* accessible from inside the firewall.
*
**/
interface Admin
{
/**
*
* Shut down the IcePatch server.
*
**/
void shutdown();
};
};
#endif
|