summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-03-27 05:51:37 +0000
committerMark Spruiell <mes@zeroc.com>2002-03-27 05:51:37 +0000
commit57fe652d62205eae9a759fded30a3009f565958e (patch)
tree63c16ce2611d1f5660987a3c427eb37f8999dd93 /cpp
parentinitial check-in (diff)
downloadice-57fe652d62205eae9a759fded30a3009f565958e.tar.bz2
ice-57fe652d62205eae9a759fded30a3009f565958e.tar.xz
ice-57fe652d62205eae9a759fded30a3009f565958e.zip
revising docu; updating init() args
Diffstat (limited to 'cpp')
-rw-r--r--cpp/slice/Ice/Service.ice30
1 files changed, 26 insertions, 4 deletions
diff --git a/cpp/slice/Ice/Service.ice b/cpp/slice/Ice/Service.ice
index a5e5d00bbf5..c91836f7606 100644
--- a/cpp/slice/Ice/Service.ice
+++ b/cpp/slice/Ice/Service.ice
@@ -13,6 +13,7 @@
#include <Ice/BuiltinSequences.ice>
#include <Ice/CommunicatorF.ice>
+#include <Ice/PropertiesF.ice>
/**
*
@@ -24,6 +25,15 @@ module Ice
/**
*
+ * Used by a Service's [init] operation to indicate failure.
+ *
+ **/
+local exception ServiceFailureException
+{
+};
+
+/**
+ *
* An application service. A Service is managed by a ServiceManager.
* A Service's lifecycle has three stages. The ServiceManager will
* invoke [init] on all services prior to calling [start], and will
@@ -41,7 +51,8 @@ module Ice
* on a collocated service.</para></listitem>
*
* <listitem><para><important>start</important> - Destroy
- * Communicators, clean up resources, etc.</para></listitem>
+ * Communicators, deactivate Object Adapters, clean up resources,
+ * etc.</para></listitem>
*
* </orderedlist>
*
@@ -71,20 +82,31 @@ local interface Service
* <note><para>The ServiceManager owns this Communicator, and is
* responsible for destroying it.</para></note>
*
+ * @param name The service's name, as determined by the configuration.
* @param communicator The ServiceManager's Communicator instance.
- * @param args The service arguments.
+ * @param properties The property set representing the service's
+ * command-line arguments of the form
+ * [--<replaceable>name</replaceable>.key=value].
+ * @param args The service arguments which were not converted into
+ * properties.
+ *
+ * @throws ServiceFailureException Raised if [init] failed.
*
* @see start
*
**/
- void init(Communicator communicator, StringSeq args);
+ void init(string name, Communicator communicator, Properties properties, StringSeq args)
+ throws ServiceFailureException;
/**
*
* Start the Service.
*
+ * @throws ServiceFailureException Raised if [start] failed.
+ *
**/
- void start();
+ void start()
+ throws ServiceFailureException;
/**
*