Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Common/KWCommon/vtkKWRemoteExecute.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWRemoteExecute.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00020 #ifndef __vtkKWRemoteExecute_h
00021 #define __vtkKWRemoteExecute_h
00022 
00023 #include "vtkObject.h"
00024 
00025 class vtkMultiThreader;
00026 
00027 class vtkKWRemoteExecuteInternal;
00028 
00029 class VTK_EXPORT vtkKWRemoteExecute : public vtkObject
00030 {
00031 public:
00032   static vtkKWRemoteExecute* New();
00033   vtkTypeRevisionMacro(vtkKWRemoteExecute,vtkObject);
00034   void PrintSelf(ostream& os, vtkIndent indent);
00035 
00036 //BTX
00038   int RunRemoteCommand(const char* args);
00039 
00041   int RunCommand(const char* args);
00042 
00043   static void* RunCommandThread(void*);
00044 
00045   enum {
00046     NOT_RUN,
00047     RUNNING,
00048     SUCCESS,
00049     FAIL
00050   };
00051 //ETX
00052   
00054   int WaitToFinish();
00055 
00059   static int Detach();
00060   
00062 
00063   vtkSetStringMacro(RemoteHost);
00064   vtkGetStringMacro(RemoteHost);
00066 
00068 
00069   vtkGetMacro(Result, int);
00071 
00073 
00074   vtkSetStringMacro(SSHUser);
00075   vtkGetStringMacro(SSHUser);
00077 
00079 
00080   vtkSetStringMacro(SSHCommand);
00081   vtkGetStringMacro(SSHCommand);
00083 
00085 
00086   vtkSetStringMacro(SSHArguments);
00087   vtkGetStringMacro(SSHArguments);
00089 
00090 protected:
00091   vtkKWRemoteExecute();
00092   ~vtkKWRemoteExecute();
00093 
00094   vtkKWRemoteExecuteInternal* Internals;
00095   vtkMultiThreader* MultiThreader;
00096 
00097   char* SSHCommand;
00098   char* SSHArguments;
00099   char* SSHUser;
00100   char* RemoteHost;
00101   int ProcessRunning;
00102   int Result;
00103 
00104   int ProcessThreadId;
00105 
00106 private:
00107   vtkKWRemoteExecute(const vtkKWRemoteExecute&); // Not implemented
00108   void operator=(const vtkKWRemoteExecute&); // Not implemented
00109 };
00110 
00111 
00112 #endif
00113 
00114 
00115 
00116 
00117 

Generated on Tue May 30 12:31:37 2006 for ParaView by doxygen 1.3.5