summaryrefslogtreecommitdiff
path: root/TAO/tao/Service_Callbacks.h
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2000-09-17 11:56:46 +0000
committerbala <balanatarajan@users.noreply.github.com>2000-09-17 11:56:46 +0000
commit0552c286d5222a42592da2b2c6db4b0696310909 (patch)
treebd3eca8bb7896128e05722a18212281d95783959 /TAO/tao/Service_Callbacks.h
parentf1990d370226996c5f82dafb14de059b8f3f2109 (diff)
downloadATCD-0552c286d5222a42592da2b2c6db4b0696310909.tar.gz
ChangeLogTag: Sun Sep 17 06:37:37 2000 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Service_Callbacks.h')
-rw-r--r--TAO/tao/Service_Callbacks.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/TAO/tao/Service_Callbacks.h b/TAO/tao/Service_Callbacks.h
new file mode 100644
index 00000000000..df1222610eb
--- /dev/null
+++ b/TAO/tao/Service_Callbacks.h
@@ -0,0 +1,70 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// Service_Callbacks.h
+//
+// = DESCRIPTION
+// This is a generic interface that would be used to override many
+// of the default functionalities that the ORB provides.
+//
+// = AUTHOR
+// Bala Natarajan <bala@cs.wustl.edu>
+// ============================================================================
+#ifndef TAO_SERVICE_CALLBACK_H
+#define TAO_SERVICE_CALLBACK_H
+#include "ace/pre.h"
+
+#include "tao/corbafwd.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Need to figure a way to remove this....
+//#include "tao/IOPC.h"
+
+class TAO_Profile;
+class TAO_MProfile;
+
+class TAO_Export TAO_Service_Callbacks
+{
+ // = TITLE
+ // An Abstract Base class for the hooks in the ORB.
+ //
+ // = DESCRIPTION
+ // This class (would) define all the hooks that may be needed by
+ // the ORB to override some of its default behaviour. The methods
+ // can be potentially used to call service level specific
+ // processing that may be required.
+
+public:
+
+ virtual CORBA::Boolean select_profile (TAO_MProfile *mprofile,
+ TAO_Profile *&pfile);
+ // Select the profile from MProfile as the needs of the services
+ // may be. Return the profile in <pfile>
+
+ virtual CORBA::Boolean reselect_profile (TAO_Stub *stub,
+ TAO_Profile *&pfile);
+ // Select the profile from MProfile as the needs of the services
+ // may be. Return the profile in <pfile>
+
+ virtual void reset_profile_flags (void);
+ // Reset the profile flags that the services could have
+
+ virtual CORBA::Boolean object_is_nil (CORBA::Object_ptr obj);
+ // Check whether <obj> is nil or not.
+};
+
+
+#if defined (__ACE_INLINE__)
+# include "tao/Service_Callbacks.i"
+#endif /* __ACE_INLINE__ */
+
+#include "ace/post.h"
+#endif /*TAO_SERVICE_CALLBACK_H*/