1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef __FRAMEWORK_THREADHELP_TRANSACTIONBASE_H_ 29 #define __FRAMEWORK_THREADHELP_TRANSACTIONBASE_H_ 30 31 //_________________________________________________________________________________________________________________ 32 // my own includes 33 //_________________________________________________________________________________________________________________ 34 35 #include <threadhelp/transactionmanager.hxx> 36 37 //_________________________________________________________________________________________________________________ 38 // interface includes 39 //_________________________________________________________________________________________________________________ 40 41 //_________________________________________________________________________________________________________________ 42 // other includes 43 //_________________________________________________________________________________________________________________ 44 45 //_________________________________________________________________________________________________________________ 46 // namespace 47 //_________________________________________________________________________________________________________________ 48 49 namespace framework{ 50 51 //_________________________________________________________________________________________________________________ 52 // const 53 //_________________________________________________________________________________________________________________ 54 55 //_________________________________________________________________________________________________________________ 56 // declarations 57 //_________________________________________________________________________________________________________________ 58 59 /*-************************************************************************************************************//** 60 @short make it possible to instanciate a transacion manager as first member! 61 @descr If you use a transaction manager as a member of your class and whish to use it earlier then other ones 62 you should have a look on this implementation. You must use it as the first base class 63 of your implementation - because base classes are initialized by his order and before your 64 member! Thats why ist a good place to declare this member. 65 66 @implements - 67 @base - 68 69 @devstatus ready to use 70 *//*-*************************************************************************************************************/ 71 struct TransactionBase 72 { 73 //------------------------------------------------------------------------------------------------------------- 74 // public member 75 //------------------------------------------------------------------------------------------------------------- 76 public: 77 78 mutable TransactionManager m_aTransactionManager ; /// "your" public manager-member! 79 /// Make it mutable for using in const functions! 80 81 }; // struct TransactionBase 82 83 } // namespace framework 84 85 #endif // #ifndef __FRAMEWORK_THREADHELP_TRANSACTIONBASE_H_ 86