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