OldOTNetworkSourceModule.h

Go to the documentation of this file.
00001  /* ========================================================================
00002   * Copyright (c) 2006,
00003   * Institute for Computer Graphics and Vision
00004   * Graz University of Technology
00005   * All rights reserved.
00006   *
00007   * Redistribution and use in source and binary forms, with or without
00008   * modification, are permitted provided that the following conditions are
00009   * met:
00010   *
00011   * Redistributions of source code must retain the above copyright notice,
00012   * this list of conditions and the following disclaimer.
00013   *
00014   * Redistributions in binary form must reproduce the above copyright
00015   * notice, this list of conditions and the following disclaimer in the
00016   * documentation and/or other materials provided with the distribution.
00017   *
00018   * Neither the name of the Graz University of Technology nor the names of
00019   * its contributors may be used to endorse or promote products derived from
00020   * this software without specific prior written permission.
00021   *
00022   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
00023   * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
00024   * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
00025   * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
00026   * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00027   * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00028   * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00029   * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00030   * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00031   * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00032   * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00033   * ========================================================================
00034   * PROJECT: OpenTracker
00035   * ======================================================================== */
00042  /* ======================================================================== */
00043 
00053 #ifndef _OLDOTNETWORKSOURCEMODULE_H
00054 #define _OLDOTNETWORKSOURCEMODULE_H
00055 
00056 #include "../OpenTracker.h"
00057 #include "OldOTNetwork.h"
00058 #include "OldOTNetworkSource.h"
00059 
00060 class ACE_Thread_Manager;
00061 
00062 namespace ot {
00063 
00064 struct MulticastReceiver;
00065 
00066 typedef std::vector<MulticastReceiver *> ReceiverVector;
00067 
00077 class OPENTRACKER_API OldOTNetworkSourceModule : public Module, public NodeFactory
00078 {
00079 // members
00080 protected:    
00081     
00083     ACE_Thread_Manager * manager;
00085     ReceiverVector groups;
00086     
00087 // methods
00088 protected:
00094     static void convertFloatsNToHl(float* floats, float* result, int num);
00098     static void run( void * data );
00099     
00100 public:    
00102      OldOTNetworkSourceModule();
00103 
00105      virtual ~OldOTNetworkSourceModule();
00106 
00114      virtual Node * createNode( const std::string& name,  StringTable& attributes);        
00118     virtual void start();
00121     virtual void close();    
00127     virtual void pushEvent();             
00128 };
00129 
00130 OT_MODULE(OldOTNetworkSourceModule);
00131 
00132 }  // namespace ot
00133 
00134 #endif

Generated on Wed Feb 28 15:18:51 2007 for NaviTrack by  doxygen 1.4.6