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