00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkSocketController.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00046 #ifndef __vtkSocketController_h 00047 #define __vtkSocketController_h 00048 00049 #include "vtkMultiProcessController.h" 00050 00051 class vtkSocketCommunicator; 00052 00053 class VTK_PARALLEL_EXPORT vtkSocketController : public vtkMultiProcessController 00054 { 00055 public: 00056 static vtkSocketController *New(); 00057 vtkTypeRevisionMacro(vtkSocketController,vtkMultiProcessController); 00058 void PrintSelf(ostream& os, vtkIndent indent); 00059 00061 00063 virtual void Initialize(int* argc, char*** argv, int) 00064 { this->Initialize(argc,argv); } 00065 virtual void Initialize(int* argc, char*** argv); 00066 virtual void Initialize() 00067 { this->Initialize(0,0); } 00069 00071 00072 void Finalize() {}; 00073 void Finalize(int) {}; 00075 00077 void SingleMethodExecute() {}; 00078 00080 void MultipleMethodExecute() {}; 00081 00083 void CreateOutputWindow() {}; 00084 00086 void Barrier() {}; 00087 00089 virtual void SetNumberOfProcesses(int num); 00090 00092 virtual int WaitForConnection(int port); 00093 00095 virtual void CloseConnection(); 00096 00098 virtual int ConnectTo( char* hostName, int port ); 00099 00100 int GetSwapBytesInReceivedData(); 00101 00103 void SetCommunicator(vtkSocketCommunicator* comm); 00104 00105 //BTX 00106 00107 enum Consts { 00108 ENDIAN_TAG=1010580540 // 0x3c3c3c3c 00109 }; 00110 00111 //ETX 00112 00113 protected: 00114 00115 vtkSocketController(); 00116 ~vtkSocketController(); 00117 00118 // Initialize only once, finialize on destruction. 00119 static int Initialized; 00120 private: 00121 vtkSocketController(const vtkSocketController&); // Not implemented. 00122 void operator=(const vtkSocketController&); // Not implemented. 00123 }; 00124 00125 00126 #endif // __vtkSocketController_h