1*f8e07b45SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*f8e07b45SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*f8e07b45SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*f8e07b45SAndrew Rist * distributed with this work for additional information 6*f8e07b45SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*f8e07b45SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*f8e07b45SAndrew Rist * "License"); you may not use this file except in compliance 9*f8e07b45SAndrew Rist * with the License. You may obtain a copy of the License at 10*f8e07b45SAndrew Rist * 11*f8e07b45SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*f8e07b45SAndrew Rist * 13*f8e07b45SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*f8e07b45SAndrew Rist * software distributed under the License is distributed on an 15*f8e07b45SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*f8e07b45SAndrew Rist * KIND, either express or implied. See the License for the 17*f8e07b45SAndrew Rist * specific language governing permissions and limitations 18*f8e07b45SAndrew Rist * under the License. 19*f8e07b45SAndrew Rist * 20*f8e07b45SAndrew Rist *************************************************************/ 21*f8e07b45SAndrew Rist 22*f8e07b45SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef __FRAMEWORK_MACROS_DEBUG_EVENT_HXX_ 25cdf0e10cSrcweir #define __FRAMEWORK_MACROS_DEBUG_EVENT_HXX_ 26cdf0e10cSrcweir 27cdf0e10cSrcweir //************************************************************************************************************* 28cdf0e10cSrcweir // special macros for event handling 29cdf0e10cSrcweir //************************************************************************************************************* 30cdf0e10cSrcweir 31cdf0e10cSrcweir #ifdef ENABLE_EVENTDEBUG 32cdf0e10cSrcweir 33cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 34cdf0e10cSrcweir // includes 35cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 36cdf0e10cSrcweir 37cdf0e10cSrcweir #ifndef _RTL_STRBUF_HXX_ 38cdf0e10cSrcweir #include <rtl/strbuf.hxx> 39cdf0e10cSrcweir #endif 40cdf0e10cSrcweir 41cdf0e10cSrcweir /*_____________________________________________________________________________________________________________ 42cdf0e10cSrcweir LOGFILE_EVENTDEBUG 43cdf0e10cSrcweir 44cdf0e10cSrcweir For follow macros we need a special log file. If user forget to specify anyone, we must do it for him! 45cdf0e10cSrcweir _____________________________________________________________________________________________________________*/ 46cdf0e10cSrcweir 47cdf0e10cSrcweir #ifndef LOGFILE_EVENTDEBUG 48cdf0e10cSrcweir #define LOGFILE_EVENTDEBUG \ 49cdf0e10cSrcweir "events.log" 50cdf0e10cSrcweir #endif 51cdf0e10cSrcweir 52cdf0e10cSrcweir /*_____________________________________________________________________________________________________________ 53cdf0e10cSrcweir LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME, AFRAMEACTION ) 54cdf0e10cSrcweir 55cdf0e10cSrcweir Use this macro to print debug informations about sending of events to listener for controling right order. 56cdf0e10cSrcweir ( Use new scope in macro to declare sBuffer more then on time in same "parentscope"! ) 57cdf0e10cSrcweir _____________________________________________________________________________________________________________*/ 58cdf0e10cSrcweir 59cdf0e10cSrcweir #define LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME, AFRAMEACTION ) \ 60cdf0e10cSrcweir { \ 61cdf0e10cSrcweir ::rtl::OStringBuffer sBuffer(1024); \ 62cdf0e10cSrcweir sBuffer.append( "[ " ); \ 63cdf0e10cSrcweir sBuffer.append( SFRAMETYPE ); \ 64cdf0e10cSrcweir sBuffer.append( " ] \"" ); \ 65cdf0e10cSrcweir sBuffer.append( U2B( SFRAMENAME ) ); \ 66cdf0e10cSrcweir sBuffer.append( "\" send event \"" ); \ 67cdf0e10cSrcweir switch( AFRAMEACTION ) \ 68cdf0e10cSrcweir { \ 69cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_COMPONENT_ATTACHED : sBuffer.append("COMPONENT ATTACHED" ); \ 70cdf0e10cSrcweir break; \ 71cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_COMPONENT_DETACHING : sBuffer.append("COMPONENT DETACHING" ); \ 72cdf0e10cSrcweir break; \ 73cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_COMPONENT_REATTACHED : sBuffer.append("COMPONENT REATTACHED" ); \ 74cdf0e10cSrcweir break; \ 75cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_FRAME_ACTIVATED : sBuffer.append("FRAME ACTIVATED" ); \ 76cdf0e10cSrcweir break; \ 77cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_FRAME_DEACTIVATING : sBuffer.append("FRAME DEACTIVATING" ); \ 78cdf0e10cSrcweir break; \ 79cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_CONTEXT_CHANGED : sBuffer.append("CONTEXT CHANGED" ); \ 80cdf0e10cSrcweir break; \ 81cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_FRAME_UI_ACTIVATED : sBuffer.append("FRAME UI ACTIVATED" ); \ 82cdf0e10cSrcweir break; \ 83cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_FRAME_UI_DEACTIVATING : sBuffer.append("FRAME UI DEACTIVATING" ); \ 84cdf0e10cSrcweir break; \ 85cdf0e10cSrcweir case ::com::sun::star::frame::FrameAction_MAKE_FIXED_SIZE : sBuffer.append("MAKE_FIXED_SIZE" ); \ 86cdf0e10cSrcweir break; \ 87cdf0e10cSrcweir default: sBuffer.append("... ERROR: invalid FrameAction detected!" ); \ 88cdf0e10cSrcweir break; \ 89cdf0e10cSrcweir } \ 90cdf0e10cSrcweir sBuffer.append( " ... event to listener.\n\n" ); \ 91cdf0e10cSrcweir WRITE_LOGFILE( LOGFILE_EVENTDEBUG, sBuffer.makeStringAndClear() ) \ 92cdf0e10cSrcweir } 93cdf0e10cSrcweir 94cdf0e10cSrcweir /*_____________________________________________________________________________________________________________ 95cdf0e10cSrcweir LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME ) 96cdf0e10cSrcweir 97cdf0e10cSrcweir These macro log information about sending of dispose events to listener. 98cdf0e10cSrcweir ( Use new scope in macro to declare sBuffer more then on time in same "parentscope"! ) 99cdf0e10cSrcweir _____________________________________________________________________________________________________________*/ 100cdf0e10cSrcweir 101cdf0e10cSrcweir #define LOG_DISPOSEEVENT( SFRAMETYPE, SFRAMENAME ) \ 102cdf0e10cSrcweir { \ 103cdf0e10cSrcweir ::rtl::OStringBuffer sBuffer(1024); \ 104cdf0e10cSrcweir sBuffer.append( "[ " ); \ 105cdf0e10cSrcweir sBuffer.append( SFRAMETYPE ); \ 106cdf0e10cSrcweir sBuffer.append( " ] \"" ); \ 107cdf0e10cSrcweir sBuffer.append( U2B( SFRAMENAME ) ); \ 108cdf0e10cSrcweir sBuffer.append( "\" send dispose event to listener.\n\n"); \ 109cdf0e10cSrcweir WRITE_LOGFILE( LOGFILE_EVENTDEBUG, sBuffer.makeStringAndClear() ) \ 110cdf0e10cSrcweir } 111cdf0e10cSrcweir 112cdf0e10cSrcweir #else // #ifdef ENABLE_EVENTDEBUG 113cdf0e10cSrcweir 114cdf0e10cSrcweir /*_____________________________________________________________________________________________________________ 115cdf0e10cSrcweir If right testmode is'nt set - implements these macros empty! 116cdf0e10cSrcweir _____________________________________________________________________________________________________________*/ 117cdf0e10cSrcweir 118cdf0e10cSrcweir #undef LOGFILE_EVENTDEBUG 119cdf0e10cSrcweir #define LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME, AFRAMEACTION ) 120cdf0e10cSrcweir #define LOG_DISPOSEEVENT( SFRAMETYPE, SFRAMENAME ) 121cdf0e10cSrcweir 122cdf0e10cSrcweir #endif // #ifdef ENABLE_EVENTDEBUG 123cdf0e10cSrcweir 124cdf0e10cSrcweir //***************************************************************************************************************** 125cdf0e10cSrcweir // end of file 126cdf0e10cSrcweir //***************************************************************************************************************** 127cdf0e10cSrcweir 128cdf0e10cSrcweir #endif // #ifndef __FRAMEWORK_MACROS_DEBUG_EVENT_HXX_ 129