Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Pipeline.h

Go to the documentation of this file.
00001 
00010 #ifndef __PIPELINE_H__
00011 #define __PIPELINE_H__
00012 
00013 #include <vector>
00014 using namespace std;
00015 
00016 #include "vpControl.h"
00017 
00018 #include "InputObject.h"
00019 #include "MidiInput.h"
00020 #include "JoystickInput.h"
00021 
00022 #include "OutputObject.h"
00023 #include "NetOutput.h"
00024 
00032 #define PIPELINE_THREAD_INTERVAL  10
00033   
00035 
00043 class Pipeline
00044 {
00045 private:
00047     vpHash  *controlMap;
00048     
00050     vector<InputObject *>   inputObjects;
00051 
00053     vector<OutputObject *>  outputObjects;
00054 
00056     HANDLE  inputMutex;
00057 
00059     HANDLE  outputMutex;
00060 
00062     HANDLE  threadHandle;
00063 
00065     DWORD   threadID;
00066 
00068     bool    isRunning;
00069 
00070 public:
00072 
00075     Pipeline(vpHash *controlMap);
00076 
00078     ~Pipeline();
00079 
00081 
00085     unsigned int addInputObject(InputObject *input);
00086 
00088 
00092     unsigned int addOutputObject(OutputObject *output);
00093 
00095     DWORD threadProc();
00096 
00098     void threadBegin();
00099     
00101     void threadEnd();
00102 };
00103 
00104 static DWORD WINAPI pipelineThreadProc(Pipeline *instance);
00105 
00106 #endif /* __PIPELINE_H__ */

Generated on Tue Oct 16 14:06:18 2001 for PuppetMaster by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001