/usr/share/Ice-3.5.1/slice/IcePatch2/FileServer.ice is in ice35-slice 3.5.1-5.2.
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 | // **********************************************************************
//
// 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.
//
// **********************************************************************
#pragma once
[["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.
*
**/
["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.
*
**/
["amd", "nonmutating", "cpp:const", "cpp:array"]
idempotent Ice::ByteSeq getFileCompressed(string path, int pos, int num)
throws FileAccessException;
};
};
|