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  

tmTransactionManager.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 _tmTransactionManager_H_
00039 #define _tmTransactionManager_H_
00040 
00041 #include "plhash.h"
00042 #include "tmUtils.h"
00043 #include "tmVector.h"
00044 
00045 // forward declarations
00046 class tmQueue;
00047 class tmClient;
00048 class tmTransaction;
00049 
00058 class tmTransactionManager
00059 {
00060 
00061 public:
00062 
00064   // Constructor(s) & Destructor & Initializer
00065 
00069   virtual ~tmTransactionManager();
00070 
00076   nsresult Init();
00077 
00079   // Public Member Functions
00080 
00087   void HandleTransaction(tmTransaction *aTrans);
00088 
00093   void SendTransaction(PRUint32 aTMClientID, tmTransaction *aTrans);
00094 
00095 protected:
00096 
00098   // Protected Member Functions
00099 
00100   // Queue management
00101 
00106   tmQueue* GetQueue(PRUint32 aQueueID);
00107 
00112   tmQueue* GetQueue(const char *aQueueName);
00113 
00135   nsresult AddQueue(const char *aQueueType);
00136 
00140   nsresult RemoveQueue(PRUint32 aQueueID);
00141 
00143   // Protected Member Variables
00144 
00145   tmVector mQueues;
00146 
00147 private:
00148 
00149 };
00150 
00151 #endif

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