Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/ps/src/dsc/co/mw/mwfwk/cmwfwIOPMapper.cc

Go to the documentation of this file.
00001 #include "cmwfwDeviceAdapter.h"
00002 #include "cmwfwDeviceServer.h"
00003 #include "cmwfwIOPMapper.h"
00004 
00005 
00006 
00007 #define FILE "source file:cmwfwIOPMapper.cc"
00008 #define ID "Contact Steen JENSEN, PS/CO"
00009 #define PROGRAM "Middleware server framework"
00010 #define T(a,b,c,d,e) TRACE(a,"%s(%s): %s %s %s %s\n",myname,FILE,b,c,d,e)
00011 #define E(a,b,c,d) ERROR("%s:%s(%s):ERROR: %s %s %s %s - %s\n",PROGRAM,myname,FILE,a,b,c,d,ID)
00012 
00013 
00014 
00019 bool cmwfwIOPMapper::ThereCanBeOnlyOne = 0;
00020 cmwfwIOPMapper::cmwfwIOPMapper(){
00021   char* myname = "cmwfwIOPMapper::cmwfwIOPMapper";
00022   T(CMWFW_TRACE_CALLS,"Entering","","","");
00023   T(CMWFW_TRACE_SERVER,"Constructing singleton","","","");
00024 
00025   //TODO make a more elegant singleton mechanism
00026   if(ThereCanBeOnlyOne){
00027     E("instance already exists","","","");
00028         exit(-1);
00029   };
00030   ThereCanBeOnlyOne = true;
00031   srv_reg = 0;
00032   adp_reg = 0;
00033 
00034   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00035 };
00036 
00041 cmwfwIOPMapper::~cmwfwIOPMapper(){
00042   char* myname = "cmwfwIOPMapper::~cmwfwIOPMapper";
00043   T(CMWFW_TRACE_CALLS,"Entering","","","");
00044   T(CMWFW_TRACE_SERVER,"Destroying singleton","","","");
00045   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00046 };
00047 
00048 
00053 cmwfwDeviceServer* cmwfwIOPMapper::getServer(const cmwfwIOPoint& iop){
00054   char* myname = "cmwfwIOPMapper::getServer";
00055   T(CMWFW_TRACE_CALLS,"Entering","","","");
00056 
00057   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00058   return srv_reg;
00059 };
00060 
00065 cmwfwDeviceAdapter* cmwfwIOPMapper::getAdapter(const cmwfwIOPoint& iop){
00066   char* myname = "cmwfwIOPMapper::getAdapter";
00067   T(CMWFW_TRACE_CALLS,"Entering","","","");
00068 
00069   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00070   return adp_reg;
00071 };
00072 
00073 
00074 
00079 void cmwfwIOPMapper::reg(const cmwfwIOPoint& iop,
00080                                                  cmwfwDeviceServer& srv){
00081   char* myname = "cmwfwIOPMapper::reg - server";
00082   T(CMWFW_TRACE_CALLS,"Entering","","","");
00083 
00084   srv_reg = &srv;
00085 
00086   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00087 };
00088 
00093 void cmwfwIOPMapper::reg(const cmwfwIOPoint& iop,
00094                                                  cmwfwDeviceAdapter& adp){
00095   char* myname = "cmwfwIOPMapper::reg - adapter";
00096   T(CMWFW_TRACE_CALLS,"Entering","","","");
00097 
00098   adp_reg = &adp;
00099 
00100   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00101 };
00102 
00103 
00108 void cmwfwIOPMapper::reg(cmwfwDeviceServer& srv){
00109   char* myname = "cmwfwIOPMapper::reg";
00110   T(CMWFW_TRACE_CALLS,"Entering","","","");
00111   T(CMWFW_TRACE_SERVER,"Server registration received","","","");
00112 
00113   srv_reg = &srv;
00114 
00115   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00116 };
00117 
00122 void cmwfwIOPMapper::reg(cmwfwDeviceAdapter& adp){
00123   char* myname = "cmwfwIOPMapper::reg";
00124   T(CMWFW_TRACE_CALLS,"Entering","","","");
00125   T(CMWFW_TRACE_SERVER,"Adapter registration received","","","");
00126 
00127   adp_reg = &adp;
00128 
00129   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00130 };
00131 
00132 
00133 
00138 void cmwfwIOPMapper::unreg(const cmwfwIOPoint& iop,
00139                                                  cmwfwDeviceServer& srv){
00140   char* myname = "cmwfwIOPMapper::unreg - server";
00141   T(CMWFW_TRACE_CALLS,"Entering","","","");
00142   T(CMWFW_TRACE_SERVER,"Unregistering server","","","");
00143 
00144   srv_reg = 0;
00145 
00146   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00147 };
00148 
00153 void cmwfwIOPMapper::unreg(const cmwfwIOPoint& iop,
00154                                                  cmwfwDeviceAdapter& adp){
00155   char* myname = "cmwfwIOPMapper::unreg - adapter";
00156   T(CMWFW_TRACE_CALLS,"Entering","","","");
00157   T(CMWFW_TRACE_SERVER,"Unregistering adapter","","","");
00158 
00159   adp_reg = 0;
00160 
00161   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00162 };
00163 
00164 
00169 void cmwfwIOPMapper::unreg(cmwfwDeviceServer& srv){
00170   char* myname = "cmwfwIOPMapper::unreg";
00171   T(CMWFW_TRACE_CALLS,"Entering","","","");
00172   T(CMWFW_TRACE_SERVER,"Unregistering server","","","");
00173 
00174   srv_reg = 0;
00175 
00176   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00177 };
00178 
00183 void cmwfwIOPMapper::unreg(cmwfwDeviceAdapter& adp){
00184   char* myname = "cmwfwIOPMapper::unreg";
00185   T(CMWFW_TRACE_CALLS,"Entering","","","");
00186   T(CMWFW_TRACE_SERVER,"Unregistering adapter","","","");
00187 
00188   adp_reg = 0;
00189 
00190   T(CMWFW_TRACE_CALLS,"Returning - all ok","","","");
00191 };
00192 
00193 
00194 cmwfwIOPMapper framework_iop_mapper;
00195 
00196 

Generated at Thu May 10 11:28:58 2001 for C.E.R.N.-PSControlsMiddlewareFramework by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001