/usr/share/Ice-3.5.1/slice/IceBox/IceBox.ice is in ice35-slice 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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | // **********************************************************************
//
// 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 <Ice/BuiltinSequences.ice>
#include <Ice/CommunicatorF.ice>
#include <Ice/PropertiesF.ice>
#include <Ice/SliceChecksumDict.ice>
/**
*
* IceBox is an application server specifically for Ice
* applications. IceBox can easily run and administer Ice services
* that are dynamically loaded as a DLL, shared library, or Java
* class.
*
**/
module IceBox
{
/**
*
* This exception is a general failure notification. It is thrown
* for errors such as a service encountering an error during
* initialization, or the service manager being unable
* to load a service executable.
*
**/
["cpp:ice_print"]
local exception FailureException
{
/**
*
* The reason for the failure.
*
**/
string reason;
};
/**
*
* This exception is thrown if an attempt is made to start an
* already-started service.
*
**/
exception AlreadyStartedException
{
};
/**
*
* This exception is thrown if an attempt is made to stop an
* already-stopped service.
*
**/
exception AlreadyStoppedException
{
};
/**
*
* This exception is thrown if a service name does not refer
* to an existing service.
*
**/
exception NoSuchServiceException
{
};
/**
*
* An application service managed by a {@link ServiceManager}.
*
**/
local interface Service
{
/**
*
* Start the service. The given communicator is created by the
* {@link ServiceManager} for use by the service. This communicator may
* also be used by other services, depending on the service
* configuration.
*
* <p class="Note">The {@link ServiceManager} owns this communicator, and is
* responsible for destroying it.
*
* @param name The service's name, as determined by the
* configuration.
*
* @param communicator A communicator for use by the service.
*
* @param args The service arguments that were not converted into
* properties.
*
* @throws FailureException Raised if {@link #start} failed.
*
**/
void start(string name, Ice::Communicator communicator, Ice::StringSeq args);
/**
*
* Stop the service.
*
**/
void stop();
};
/**
*
* An Observer interface implemented by admin clients
* interested in the status of services
*
* @see ServiceManager
*
**/
interface ServiceObserver
{
void servicesStarted(Ice::StringSeq services);
void servicesStopped(Ice::StringSeq services);
};
/**
*
* Administers a set of {@link Service} instances.
*
* @see Service
*
**/
interface ServiceManager
{
/**
*
* Returns the checksums for the IceBox Slice definitions.
*
* @return A dictionary mapping Slice type ids to their checksums.
*
**/
["nonmutating", "cpp:const"] idempotent Ice::SliceChecksumDict getSliceChecksums();
/**
*
* Start an individual service.
*
* @param service The service name.
*
**/
void startService(string service)
throws AlreadyStartedException, NoSuchServiceException;
/**
*
* Stop an individual service.
*
* @param service The service name.
*
**/
void stopService(string service)
throws AlreadyStoppedException, NoSuchServiceException;
/**
*
* Registers a new observer with the ServiceManager.
*
* @param observer The new observer
*
**/
void addObserver(ServiceObserver* observer);
/**
*
* Shut down all services. This causes {@link Service#stop} to be
* invoked on all configured services.
*
**/
void shutdown();
};
};
|