summaryrefslogtreecommitdiff
path: root/ACE/TAO/orbsvcs/orbsvcs/FT_Replica.idl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/orbsvcs/orbsvcs/FT_Replica.idl')
-rw-r--r--ACE/TAO/orbsvcs/orbsvcs/FT_Replica.idl51
1 files changed, 51 insertions, 0 deletions
diff --git a/ACE/TAO/orbsvcs/orbsvcs/FT_Replica.idl b/ACE/TAO/orbsvcs/orbsvcs/FT_Replica.idl
new file mode 100644
index 00000000000..eb351729e6e
--- /dev/null
+++ b/ACE/TAO/orbsvcs/orbsvcs/FT_Replica.idl
@@ -0,0 +1,51 @@
+//$Id$
+// FT_replica.idl
+#ifndef _FT_REPLICA_IDL_
+#define _FT_REPLICA_IDL_
+
+// The OMG FT file has been split into sevaral pieces. This is one of them.
+// It contains the interfaces that a typical FT Replica (replicated servant)
+// will need to implement.
+
+#include "FT_CORBA.idl" // common FT definitions
+
+#pragma prefix "omg.org"
+
+module FT
+{
+ // Specification of PullMonitorable Interface
+ // which Application Objects Inherit
+ interface PullMonitorable {
+ boolean is_alive();
+ };
+
+ // Specifications for Logging and Recovery
+ typedef sequence<octet> State;
+
+ exception NoStateAvailable {};
+ exception InvalidState {};
+
+ exception NoUpdateAvailable {};
+ exception InvalidUpdate {};
+
+ // Specification of Checkpointable Interface
+ // which Updateable and Application Objects Inherit
+ interface Checkpointable {
+ State get_state()
+ raises(NoStateAvailable);
+ void set_state(in State s)
+ raises(InvalidState);
+ };
+
+ // Specification of Updateable Interface
+ // which Application Objects Inherit
+ interface Updateable : Checkpointable
+ {
+ State get_update()
+ raises(NoUpdateAvailable);
+ void set_update(in State s)
+ raises(InvalidUpdate);
+ };
+};
+
+#endif // for #ifndef _FT_REPLICA_IDL_