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

subprocess.h

00001 #ifndef EDG_WORKLOAD_COMMON_PROCESS_SUBPROCESS_H
00002 #define EDG_WORKLOAD_COMMON_PROCESS_SUBPROCESS_H
00003 
00004 #include <sys/types.h>
00005 
00006 #include "edg/workload/common/common_namespace.h"
00007 
00008 COMMON_NAMESPACE_BEGIN {
00009 
00010 namespace process {
00011 
00012 class Functor;
00013 class Process;
00014 
00015 class Subprocess {
00016   friend class Process;
00017 
00018 public:
00019   Subprocess( Functor &func );
00020   ~Subprocess( void );
00021 
00022   inline bool is_ended( void ) { return this->s_ended; }
00023   inline bool is_signaled( void ) { return this->s_signaled; }
00024   inline int exit_code( void ) { return this->s_exit; }
00025   inline int signal_code( void ) { return this->s_signal; }
00026   inline pid_t pid( void ) { return this->s_pid; }
00027 
00028   int signal( int sig );
00029 
00030 private:
00031   Subprocess( pid_t pid );
00032 
00033   void set_status( int status );
00034 
00035   Subprocess( const Subprocess &proc ); // Not implemented
00036   Subprocess &operator=( const Subprocess &proc ); // Not implemented
00037 
00038   bool    s_ended, s_signaled;
00039   int     s_exit, s_signal;
00040   pid_t   s_pid;
00041 };
00042 
00043 }; // Namespace process
00044 
00045 } COMMON_NAMESPACE_END;
00046 
00047 #endif /* EDG_WORKLOAD_COMMON_PROCESS_SUBPROCESS_H */
00048 
00049 // Local Variables:
00050 // mode: c++
00051 // End:

Generated on Fri May 14 14:18:26 2004 for COMMON API - configuration, jobid, ldif2classadi, logger, process, requestad, socket++i, task, utilities by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002