IProcessService.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *---------------------------------------------------------------------------
00003  *
00004  * interface/internal/IProcessService.idl
00005  *
00006  * Copyright (c) 2002 Motorola Inc. All Rights Reserved.
00007  *
00008  *---------------------------------------------------------------------------
00009  */
00010 
00011 #ifndef IPROCESSSERVICE_IDL
00012 #define IPROCESSSERVICE_IDL
00013 
00014 #include "TToiInvalidArgumentException.idl"
00015 #include "TToiPermissionDeniedException.idl"
00016 #include "TToiNotEnoughResourcesException.idl"
00017 
00023 interface IProcessService
00024 {
00025   typedef sequence<string> TEnvironmentList;
00026 
00027 
00031   enum TPrivileges {
00036     PRIVILEGES_PLATFORM,
00037 
00041     PRIVILEGES_APPLICATION
00042   };
00043 
00044 
00060   void SetEnv(in string name, in string value)
00061     raises (TToiInvalidArgumentException,
00062             TToiPermissionDeniedException);
00063 
00064 
00080   void UnsetEnv(in string name)
00081     raises (TToiInvalidArgumentException,
00082             TToiPermissionDeniedException);
00083 
00084 
00139   void CreateProcess(in string args, in TEnvironmentList env,
00140                      in TPrivileges privileges, in string observerAddress,
00141                      out long pid)
00142     raises (TToiInvalidArgumentException,
00143             TToiPermissionDeniedException,
00144             TToiNotEnoughResourcesException);
00145 
00146 
00178   void ExitProcess(in long pid, in long signal, in long timeout)
00179     raises (TToiInvalidArgumentException,
00180             TToiPermissionDeniedException);
00181 
00182 
00205   void DestroyProcess(in long pid)
00206     raises (TToiInvalidArgumentException,
00207             TToiPermissionDeniedException);
00208 
00212   void OnIpAddressChanged();
00213 
00214 
00215 
00216 
00220   void PeekDeviceLog(out string outputFileName);
00221 
00222 
00223 };
00224 
00225 #endif