AndroMeta  2.0.0
AndroMeta/include/AndroMeta/MNetProc.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2009-2012 AndroMeta LLC. All rights reserved.
00003  *
00004  * AndroMeta LLC retains all intellectual property and proprietary 
00005  * rights to this software and related documentation and any modifications 
00006  * thereto.  Any use, reproduction, disclosure, or distribution of this 
00007  * software and related documentation without an express license agreement 
00008  * from AndroMeta LLC is strictly prohibited.
00009  * 
00010  */
00011 
00019 #ifndef ANDROMETA_M_NET_PROC_H
00020 #define ANDROMETA_M_NET_PROC_H
00021 
00022 #include <AndroMeta/MProc.h>
00023 #include <AndroMeta/MCommunicator.h>
00024 
00025 namespace Meta{
00026   
00027   class MProcTask;
00028   
00039   class MNetProc : public MProc, public MCommunicator{
00040   public:
00041     
00045     MNetProc(MProcTask* task,
00046              MMessageBuffer* sendBuffer=0,
00047              MMessageBuffer* receiveBuffer=0);
00048     
00052     virtual ~MNetProc();
00053     
00057     virtual void init();
00058     
00062     virtual void mapSignals(const SignalMap& signalMap, mvar& smap);
00063     
00069     virtual mvar run();
00070     
00075     virtual mvar run(mvar& smap);
00076     
00080     mvar run(SignalMap& signalMap);
00081     
00085     mvar& session();
00086     
00087   private:
00088     MNetProc& operator=(const MNetProc&);
00089     MNetProc(const MNetProc&);
00090     
00091     class MNetProc_* x_;
00092   };
00093   
00094 } // end namespace Meta
00095 
00096 #endif // ANDROMETA_M_NET_PROC_H