Salome HOME
PR: mergefrom_BR_CCRT_11Nov04
[modules/kernel.git] / src / Communication / Receiver.cxx
1 #include "Receiver.hxx"
2 #include <string.h>
3 using namespace std;
4
5 /*!
6   return a deep copy of the array contained in the servant.
7  */
8 void *Receiver::getLocalValue(long &size,SALOME_Sender_i* servant)
9 {
10   const void *src=servant->getData(size);
11   long lgr=size*servant->getSizeOf();
12   void *ret=new char[lgr];
13   memcpy(ret,src,lgr);
14   return ret;
15   //return (void *)servant->getData(size);
16 }
17
18 void *Receiver::getValue(long &size,SALOME::Sender_ptr sender)
19 {
20   SALOME_Sender_i* data=SALOME_Sender_i::find(sender);
21   if(data)
22     return getLocalValue(size,data);
23   else
24     return getDistValue(size);
25 }
26