IORTable.pidl

Go to the documentation of this file.
00001 // ================================================================
00002 /**
00003  * @file IORTable.pidl
00004  *
00005  * IORTable.pidl,v 1.7 2005/04/12 08:23:26 jwillemsen Exp
00006  *
00007  * @author Carlos O'Ryan <coryan@uci.edu>
00008  *
00009  * @brief Pre-compiled IDL source for the IORTable module.
00010  *
00011  * This file was used to generate the code in
00012  * IORTable{C}.{h,cpp}
00013  *
00014  *   The command used to generate code from this file is:
00015  *
00016  *     tao_idl -o orig -Ge 1 -Sa -St -Sci \
00017  *          -Wb,export_macro=TAO_IORTable_Export \
00018  *          -Wb,export_include=iortable_export.h \
00019  *          -Wb,pre_include="ace/pre.h" \
00020  *          -Wb,post_include="ace/post.h" \
00021  *          IORTable.pidl
00022  *
00023  */
00024 // ================================================================
00025 
00026 /// Define a module to avoid namespace pollution
00027 module IORTable
00028 {
00029   local interface Locator;
00030 
00031   /// The object key is already in the IORTable
00032   exception AlreadyBound {};
00033 
00034   /// Cannot find the object key in the IORTable
00035   exception NotFound {};
00036 
00037   /// Define the IORTable interface
00038   /**
00039    *
00040    *  Any TAO server can be configured as an corbaloc agent.
00041    *  Such agents forward requests generated using a simple
00042    *  ObjectKey in a corbaloc specifcation to the real location
00043    *  of the object.
00044    *  In TAO we implement this feature by dynamically (or
00045    *  statically) adding a new Object Adapter to the ORB, that
00046    *  handles any sort of request.
00047    */
00048   local interface Table
00049   {
00050     /// Bind <object_key> to the <IOR>
00051     void bind (in string object_key,
00052                in string IOR)
00053       raises (AlreadyBound);
00054 
00055     /// Bind <object_key> to the <IOR>
00056     void rebind (in string object_key,
00057                  in string IOR);
00058 
00059     /// Remove the binding for <object_key>
00060     void unbind (in string object_key)
00061       raises (NotFound);
00062 
00063     /// Set the locator, if no binding is set for an object_key we try
00064     /// to use the locator to resolve it
00065     void set_locator (in Locator the_locator);
00066   };
00067 
00068   /// Callback interface to locate  object keys dynamically
00069   /**
00070    * The application can provide a callback interface to locate object
00071    * keys dynamically.
00072    */
00073   local interface Locator
00074   {
00075     /// Returns an IOR to use for <object_key>
00076     string locate (in string object_key)
00077       raises (NotFound);
00078   };
00079 };

Generated on Thu Nov 9 13:07:06 2006 for TAO_IORTable by doxygen 1.3.6