Page principale | Liste des namespaces | Hiérarchie des classes | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de namespace | Membres de classe

grabber.hpp

00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #ifndef __GRABBER_HPP__
00040 #define __GRABBER_HPP__
00041 
00042 #include <boost/thread/thread.hpp>
00043 
00044 #include "param.hpp"
00045 #include "paramip.hpp"
00046 #include "paramdisk.hpp"
00047 #include "acq.hpp"
00048 #include "tempo.hpp"
00049 
00050 namespace ipsi
00051 {
00058   template<class T, size_t N>
00059   class dataGrabber
00060   {
00061   private:
00063     buffer_t          mBuffers[N] ;
00065     boost::mutex      mLock[N]    ;
00067     unsigned int      mCurr       ,
00069       mSend       ;
00071     bool              mRun        ;
00073     std::string       mLogin      ,
00075       mPass       ,
00077       mIp         ;
00079     int               mPort       ;
00081     bool              ready       ; 
00082     
00084     acq<T, N, fill_data<T> >* macq;
00086     boost::thread*    mThread     ;
00087     
00088   public:
00100     dataGrabber( Param* param, Caminfo* ci);
00101     
00108     ~dataGrabber();
00109     
00114     buffer_t& getData();
00115     
00120     size_t size();
00121 
00126     bool isready() const; 
00127 
00134     void stop();
00135   };
00136 
00137 #include "grabber.impl.hpp"
00138 }
00139 #endif

Généré le Wed Aug 16 12:33:36 2006 pour IpsiC++library par  doxygen 1.4.4