You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



Main Page   Compound List   File List   Compound Members  

tmIPCModule.h

00001 /* ***** BEGIN LICENSE BLOCK *****
00002  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00003  *
00004  * The contents of this file are subject to the Mozilla Public License Version
00005  * 1.1 (the "License"); you may not use this file except in compliance with
00006  * the License. You may obtain a copy of the License at
00007  * http://www.mozilla.org/MPL/
00008  *
00009  * Software distributed under the License is distributed on an "AS IS" basis,
00010  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00011  * for the specific language governing rights and limitations under the
00012  * License.
00013  *
00014  * The Original Code is Mozilla Transaction Manager.
00015  *
00016  * The Initial Developer of the Original Code is
00017  * Netscape Communications Corp.
00018  * Portions created by the Initial Developer are Copyright (C) 2003
00019  * the Initial Developer. All Rights Reserved.
00020  *
00021  * Contributor(s):
00022  *   John Gaunt <jgaunt@netscape.com>
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either the GNU General Public License Version 2 or later (the "GPL"), or
00026  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037 
00038 #ifndef _tmIPCModule_H_
00039 #define _tmIPCModule_H_
00040 
00041 #include "ipcMessage.h"
00042 #include "ipcModuleUtil.h"
00043 #include "tmUtils.h"
00044 
00045 // forward declarations
00046 class tmTransaction;
00047 class tmTransactionManager;
00048 
00049 // UUID used to identify the Transaction Module in both daemon and client
00050 #define TRANSACTION_MODULE_ID                         \
00051 { /* c3dfbcd5-f51d-420b-abf4-3bae445b96a9 */          \
00052     0xc3dfbcd5,                                       \
00053     0xf51d,                                           \
00054     0x420b,                                           \
00055     {0xab, 0xf4, 0x3b, 0xae, 0x44, 0x5b, 0x96, 0xa9}  \
00056 }
00057 
00058 static const nsID kTransModuleID = TRANSACTION_MODULE_ID;
00059 
00071 class tmIPCModule
00072 {
00073 public:
00074 
00076   // ipcModule API - called from IPC daemon
00077 
00081   static void Shutdown();
00082 
00086   static void Init();
00087 
00092   static void HandleMsg(ipcClientHandle client,
00093                         const nsID     &target,
00094                         const void     *data,
00095                         PRUint32        dataLen);
00096 
00098   // tmIPCModule API - called from tmTransactionManager
00099 
00103   static void SendMsg(PRUint32 aDestClientIPCID, tmTransaction *aTransaction);
00104 
00105 protected:
00106 
00115   static nsresult InitInternal();
00116 
00117   static tmTransactionManager *tm;
00118 
00119 };
00120 
00121 #endif
00122 
00123 

Generated on Mon Feb 24 10:22:50 2003 for transaction manager by doxygen1.3-rc3