1 //------------------------------------------------------------------------------ 2 // Copyright (c) 2001-2002, OpenBeOS 3 // 4 // Permission is hereby granted, free of charge, to any person obtaining a 5 // copy of this software and associated documentation files (the "Software"), 6 // to deal in the Software without restriction, including without limitation 7 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 // and/or sell copies of the Software, and to permit persons to whom the 9 // Software is furnished to do so, subject to the following conditions: 10 // 11 // The above copyright notice and this permission notice shall be included in 12 // all copies or substantial portions of the Software. 13 // 14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20 // DEALINGS IN THE SOFTWARE. 21 // 22 // File Name: InitTerminateLibBe.cpp 23 // Author(s): Ingo Weinhold (bonefish@users.sf.net) 24 // Description: Global library initialization/termination routines. 25 //------------------------------------------------------------------------------ 26 #include <stdio.h> 27 28 #include <ClipboardPrivate.h> 29 #include <MessagePrivate.h> 30 #include <RosterPrivate.h> 31 32 // debugging 33 //#define DBG(x) x 34 #define DBG(x) 35 #define OUT printf 36 37 // initialize_before 38 extern "C" 39 void 40 initialize_before() 41 { 42 DBG(OUT("initialize_before()\n")); 43 44 BMessage::Private::StaticInit(); 45 BRoster::Private::InitBeRoster(); 46 BPrivate::init_clipboard(); 47 48 DBG(OUT("initialize_before() done\n")); 49 } 50 51 // terminate_after 52 extern "C" 53 void 54 terminate_after() 55 { 56 DBG(OUT("terminate_after()\n")); 57 58 BRoster::Private::DeleteBeRoster(); 59 BMessage::Private::StaticCleanup(); 60 BMessage::Private::StaticCacheCleanup(); 61 62 DBG(OUT("terminate_after() done\n")); 63 } 64 65