pprocess.h File Reference
`#include <ptlib/mutex.h>`
`#include <ptlib/syncpoint.h>`
`#include <ptlib/thread.h>`
`#include <ptlib/pfactory.h>`
`#include <queue>`
`#include <set>`
`#include "unix/ptlib/pprocess.h"`

Go to the source code of this file.

## Classes

class | PTimerList
class | PTimerList::RequestType
class | PProcess
| This class represents an operating system process. More...
class | PProcess::HostSystemURLHandlerInfo
| This class can be used to register various URL types with the host operating system so that URLs will automatically launch the correct application. More...
class | PLibraryProcess
| Class for a process that is a dynamically loaded library. More...
class | PProcessStartup

## Macros

#define | PCREATE_PROCESS(cls)
| Create a process. More...
#define | PDECLARE_PROCESS(cls, ancestor, manuf, name, major, minor, status, build)

## Typedefs

typedef PFactory< PProcessStartup > | PProcessStartupFactory

## Macro Definition Documentation

## PCREATE_PROCESS

#define PCREATE_PROCESS | ( |  | cls | ) |

Value:
int main(int argc, char ** argv, char ** envp) \
{ \
cls *pInstance = new cls(); \
pInstance->PreInitialise(argc, argv, envp); \
int terminationValue = pInstance->InternalMain(); \
delete pInstance; \
return terminationValue; \
}

Create a process.

This macro is used to create the components necessary for a user PWLib process. For a PWLib program to work correctly on all platforms the main() function must be defined in the same module as the instance of the application.

## PDECLARE_PROCESS

#define PDECLARE_PROCESS | ( |  | cls,
|  |  | ancestor,
|  |  | manuf,
|  |  | name,
|  |  | major,
|  |  | minor,
|  |  | status,
|  |  | build
| ) |  |

Value:
class cls : public ancestor { \
PCLASSINFO(cls, ancestor); \
public: \
cls() : ancestor(manuf, name, major, minor, status, build) { } \
private: \
virtual void Main(); \
};

## Typedef Documentation

## PProcessStartupFactory

typedef PFactory<PProcessStartup> PProcessStartupFactory