📄 pprocess.h
字号:
); //@} /**@name Overrides from class PObject */ //@{ /**Compare two process instances. This should almost never be called as a programme only has access to a single process, its own. @return #EqualTo# if the two process object have the same name. */ Comparison Compare( const PObject & obj /// Other process to compare against. ) const; //@} /**@name Overrides from class PThread */ //@{ /**Terminate the process. Usually only used in abnormal abort situation. */ virtual void Terminate(); /** Get the name of the thread. Thread names are a optional debugging aid. @return current thread name. */ virtual PString GetThreadName() const; /** Change the name of the thread. Thread names are a optional debugging aid. @return current thread name. */ virtual void SetThreadName( const PString & name /// New name for the thread. ); //@} /**@name Process information functions */ //@{ /**Get the current processes object instance. The {\it current process} is the one the application is running in. @return pointer to current process instance. */ static PProcess & Current(); /**Determine if the current processes object instance has been initialised. If this returns TRUE it is safe to use the PProcess::Current() function. @return TRUE if process class has been initialised. */ static BOOL IsInitialised(); /**Set the termination value for the process. The termination value is an operating system dependent integer which indicates the processes termiantion value. It can be considered a "return value" for an entire programme. */ void SetTerminationValue( int value /// Value to return a process termination status. ); /**Get the termination value for the process. The termination value is an operating system dependent integer which indicates the processes termiantion value. It can be considered a "return value" for an entire programme. @return integer termination value. */ int GetTerminationValue() const; /**Get the programme arguments. Programme arguments are a set of strings provided to the programme in a platform dependent manner. @return argument handling class instance. */ PArgList & GetArguments(); /**Get the name of the manufacturer of the software. This is used in the default "About" dialog box and for determining the location of the configuration information as used by the #PConfig# class. The default for this information is the empty string. @return string for the manufacturer name eg "Equivalence". */ const PString & GetManufacturer() const; /**Get the name of the process. This is used in the default "About" dialog box and for determining the location of the configuration information as used by the #PConfig# class. The default is the title part of the executable image file. @return string for the process name eg "MyApp". */ const PString & GetName() const; /**Get the version of the software. This is used in the default "About" dialog box and for determining the location of the configuration information as used by the #PConfig# class. If the #full# parameter is TRUE then a version string built from the major, minor, status and build veriosn codes is returned. If FALSE then only the major and minor versions are returned. The default for this information is "1.0". @return string for the version eg "1.0b3". */ PString GetVersion( BOOL full = TRUE /// TRUE for full version, FALSE for short version. ) const; /**Get the processes executable image file path. @return file path for program. */ const PFilePath & GetFile() const; /**Get the platform dependent process identifier for the process. This is an arbitrary (and unique) integer attached to a process by the operating system. @return Process ID for process. */ DWORD GetProcessID() const; /**Get the effective user name of the owner of the process, eg "root" etc. This is a platform dependent string only provided by platforms that are multi-user. Note that some value may be returned as a "simulated" user. For example, in MS-DOS an environment variable @return user name of processes owner. */ PString GetUserName() const; //@} /**@name Operating System information functions */ //@{ /**Get the class of the operating system the process is running on, eg "unix". @return String for OS class. */ static PString GetOSClass(); /**Get the name of the operating system the process is running on, eg "Linux". @return String for OS name. */ static PString GetOSName(); /**Get the hardware the process is running on, eg "sparc". @return String for OS name. */ static PString GetOSHardware(); /**Get the version of the operating system the process is running on, eg "2.0.33". @return String for OS version. */ static PString GetOSVersion(); /**Get the configuration directory of the operating system the process is running on, eg "/etc" for Unix, "c:\windows" for Win95 or "c:\winnt\system32\drivers\etc" for NT. @return Directory for OS configuration files. */ static PDirectory GetOSConfigDir(); //@} PTimerList * GetTimerList(); /* Get the list of timers handled by the application. This is an internal function and should not need to be called by the user. @return list of timers. */ static void PreInitialise( int argc, // Number of program arguments. char ** argv, // Array of strings for program arguments. char ** envp // Array of string for the system environment ); /* Internal initialisation function called directly from #_main()#. The user should never call this function. */ virtual int _main(void * arg = NULL); // Main function for process, called from real main after initialisation protected:#if !defined(P_PLATFORM_HAS_THREADS) virtual void OperatingSystemYield(); /* Yield to the platforms operating system. This is an internal function and should never be called by the user. It is provided on platforms that do not provide multiple threads in a single process. */#endif private: void Construct(); // Member variables static int p_argc; static char ** p_argv; static char ** p_envp; // main arguments int terminationValue; // Application return value PString manufacturer; // Application manufacturer name. PString productName; // Application executable base name from argv[0] WORD majorVersion; // Major version number of the product WORD minorVersion; // Minor version number of the product CodeStatus status; // Development status of the product WORD buildNumber; // Build number of the product PFilePath executableFile; // Application executable file from argv[0] (not open) PArgList arguments; // The list of arguments PTimerList timers; // List of active timers in system#if !defined(P_PLATFORM_HAS_THREADS) PThread * currentThread; // Currently running thread in the process#endif friend class PThread;#ifdef DOC_PLUS_PLUS};#endif// Class declaration continued in platform specific header file ///////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -