#############################################################################
## Name: XS/Log.xs
## Purpose: XS for Wx::Log and derived classes
## Author: Mattia Barbon
## Modified by:
## Created: 29/10/2000
## RCS-ID: $Id: Log.xs 3426 2013-01-19 06:29:12Z mdootson $
## Copyright: (c) 2000-2003, 2005-2007, 2009, 2012-2013 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
#include <wx/log.h>
#include "cpp/log.h"
MODULE=Wx PACKAGE=Wx::Log
void
wxLog::Destroy()
CODE:
delete THIS;
bool
IsEnabled()
CODE:
RETVAL = wxLog::IsEnabled();
OUTPUT:
RETVAL
bool
EnableLogging( enable = true )
bool enable
CODE:
RETVAL = wxLog::EnableLogging( enable );
OUTPUT:
RETVAL
#if WXPERL_W_VERSION_GE( 2, 8, 5 )
void
SetRepetitionCounting( RepetCounting = true )
bool RepetCounting
CODE:
wxLog::SetRepetitionCounting( RepetCounting );
bool
GetRepetitionCounting()
CODE:
RETVAL = wxLog::GetRepetitionCounting();
OUTPUT:
RETVAL
void
DoCreateOnDemand()
CODE:
wxLog::DoCreateOnDemand();
#endif
void
AddTraceMask( mask )
wxString mask
CODE:
wxLog::AddTraceMask( mask );
void
ClearTraceMasks()
CODE:
wxLog::ClearTraceMasks();
void
RemoveTraceMask( mask )
wxString mask
CODE:
wxLog::RemoveTraceMask( mask );
bool
IsAllowedTraceMask( mask )
wxString mask
CODE:
RETVAL = wxLog::IsAllowedTraceMask( mask );
OUTPUT:
RETVAL
void
GetTraceMasks()
PPCODE:
const wxArrayString& masksallowed = wxLog::GetTraceMasks();
PUTBACK;
wxPli_stringarray_push( aTHX_ masksallowed );
SPAGAIN;
wxLog*
GetActiveTarget()
CODE:
RETVAL = wxLog::GetActiveTarget();
OUTPUT:
RETVAL
wxLog*
SetActiveTarget( target )
wxLog* target
CODE:
RETVAL = wxLog::SetActiveTarget( target );
OUTPUT:
RETVAL
void
DontCreateOnDemand()
CODE:
wxLog::DontCreateOnDemand();
void
Suspend()
CODE:
wxLog::Suspend();
void
Resume()
CODE:
wxLog::Resume();
wxLogLevel
GetLogLevel()
CODE:
RETVAL = wxLog::GetLogLevel();
OUTPUT:
RETVAL
void
SetLogLevel( loglevel )
wxLogLevel loglevel
CODE:
wxLog::SetLogLevel( loglevel );
void
wxLog::Flush()
## // Allow static function call and previously
## // wrapped method call for FlushActive
void
FlushActive( myLog = NULL )
wxLog* myLog
CODE:
wxLog::FlushActive();
bool
wxLog::HasPendingMessages()
## // Allow correct static function call and previously
## // wrapped method call for Get / SetVerbose
## // It all maps to a static call anyway.
## // Old code should still work
# DECLARE_OVERLOAD( wlog, Wx::Log )
void
SetVerbose( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_VOIDM_REDISP_FUNCTION( Wx::Log::SetVerboseFunctionDefault )
MATCH_REDISP_COUNT_FUNCTION(wxPliOvl_wlog, Wx::Log::SetVerboseMethodDefault, 1 )
MATCH_REDISP_COUNT_FUNCTION(wxPliOvl_n, Wx::Log::SetVerboseFunctionParam, 1)
MATCH_REDISP_COUNT_FUNCTION(wxPliOvl_wlog_n, Wx::Log::SetVerboseMethodParam, 2)
END_OVERLOAD( "Wx::Log::SetVerbose" )
void
SetVerboseFunctionDefault()
CODE:
wxLog::SetVerbose( true );
void
SetVerboseMethodDefault( myLog )
wxLog* myLog
CODE:
wxLog::SetVerbose( true );
void
SetVerboseFunctionParam( enable )
bool enable
CODE:
wxLog::SetVerbose( enable );
void
SetVerboseMethodParam( myLog, enable )
wxLog* myLog
bool enable
CODE:
wxLog::SetVerbose( enable );
bool
GetVerbose( myLog = NULL )
wxLog* myLog
CODE:
RETVAL = wxLog::GetVerbose();
OUTPUT:
RETVAL
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
void
_SetTimestamp( format, buffer )
wxString format
SV* buffer
CODE:
wxLog::SetTimestamp( format );
wxString
wxLog::GetTimestamp();
#else
void
_SetTimestamp( format, buffer )
SV* format
SV* buffer
CODE:
if( SvOK( ST(0) ) ) {
const wxString format_tmp = ( SvUTF8( format ) ) ?
( wxString( SvPVutf8_nolen( format ), wxConvUTF8 ) )
: ( wxString( SvPV_nolen( format ), wxConvLibc ) );
const wxChar* fmt = (const wxChar*)format_tmp.c_str();
STRLEN size = wxStrlen( fmt ) * sizeof(wxChar) + sizeof(wxChar);
SvUPGRADE( buffer, SVt_PV );
wxLog::SetTimestamp( wxStrcpy( (wxChar*)SvGROW( buffer, size ),
fmt ) );
} else {
wxLog::SetTimestamp( NULL );
}
const wxChar*
wxLog::GetTimestamp()
#endif
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
void
SetComponentLevel( component, level )
wxString component
wxLogLevel level
CODE:
wxLog::SetComponentLevel( component, level );
wxLogLevel
GetComponentLevel( component )
wxString component
CODE:
RETVAL = wxLog::GetComponentLevel( component );
OUTPUT: RETVAL
bool
IsLevelEnabled( level, component )
wxLogLevel level
wxString component
CODE:
RETVAL = wxLog::IsLevelEnabled( level, component );
OUTPUT: RETVAL
#endif
#if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
void
SetTraceMask( mask )
wxTraceMask mask
CODE:
wxLog::SetTraceMask( mask );
wxTraceMask
GetTraceMask()
CODE:
RETVAL = wxLog::GetTraceMask();
OUTPUT:
RETVAL
#endif
MODULE=Wx PACKAGE=Wx::PlLog
wxPlLog*
wxPlLog::new()
CODE:
RETVAL = new wxPlLog( CLASS );
OUTPUT:
RETVAL
MODULE=Wx PACKAGE=Wx::LogTextCtrl
wxLogTextCtrl*
wxLogTextCtrl::new( ctrl )
wxTextCtrl* ctrl
MODULE=Wx PACKAGE=Wx::LogNull
wxLogNull*
wxLogNull::new()
static void
wxLogNull::CLONE()
CODE:
wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
## // thread OK
void
wxLogNull::DESTROY()
CODE:
wxPli_thread_sv_unregister( aTHX_ "Wx::LogNull", THIS, ST(0) );
delete THIS;
MODULE=Wx PACKAGE=Wx::LogGui
wxLogGui*
wxLogGui::new()
MODULE=Wx PACKAGE=Wx::LogWindow
wxLogWindow*
wxLogWindow::new( parent, title, show = true, passtoold = true )
wxFrame* parent
wxString title
bool show
bool passtoold
MODULE=Wx PACKAGE=Wx
# this is a test for INTERFACE:
# in this specific case it saves around 256 bytes / function,
# more for more complex typemaps / longer parameter lists
#if 0
#define XSINTERFACE__wxstring( _ret, _cv, _f ) \
( ( void (*)( const wxString& ) ) _f)
#define XSINTERFACE__wxstring_SET( _cv, _f ) \
( CvXSUBANY( _cv ).any_ptr = (void*) _f )
#undef dXSFUNCTION
#define dXSFUNCTION( a ) \
void (*XSFUNCTION)( const wxString& )
void
interface__wxstring( string )
wxString string
INTERFACE_MACRO:
XSINTERFACE__wxstring
XSINTERFACE__wxstring_SET
INTERFACE:
wxLogError wxLogFatalError wxLogWarning
wxLogVerbose wxLogDebug
wxLogMessage
#else
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
void
wxLogError( string )
wxString string
void
wxLogFatalError( string )
wxString string
void
wxLogWarning( string )
wxString string
void
wxLogMessage( string )
wxString string
void
wxLogVerbose( string )
wxString string
void
wxLogDebug( string )
wxString string
#else
void
wxLogError( string )
const wxChar* string
void
wxLogFatalError( string )
const wxChar* string
void
wxLogWarning( string )
const wxChar* string
void
wxLogMessage( string )
const wxChar* string
void
wxLogVerbose( string )
const wxChar* string
void
wxLogDebug( string )
const wxChar* string
#endif
#endif
void
wxLogStatusFrame( frame, string )
wxFrame* frame
const wxChar* string
CODE:
wxLogStatus( frame, string );
void
wxLogStatus( string )
const wxChar* string
#if WXPERL_W_VERSION_LE( 2, 5, 0 )
void
wxLogTrace( string )
const wxChar* string
#endif
void
wxLogTraceMask( mask, string )
const wxChar* mask
const wxChar* string
CODE:
wxLogTrace( mask, string );
void
wxLogSysError( string )
const wxChar* string
MODULE=Wx PACKAGE=Wx PREFIX=wx
unsigned long
wxSysErrorCode()
const wxChar*
wxSysErrorMsg( errCode = 0 )
unsigned long errCode
MODULE=Wx PACKAGE=Wx::LogChain
wxLogChain*
wxLogChain::new( logger )
wxLog* logger
wxLog*
wxLogChain::GetOldLog()
#if WXPERL_W_VERSION_GE( 2, 8, 5 )
void
wxLogChain::DetachOldLog()
#endif
bool
wxLogChain::IsPassingMessages()
void
wxLogChain::PassMessages( passMessages )
bool passMessages
void
wxLogChain::SetLog( logger )
wxLog* logger
MODULE=Wx PACKAGE=Wx::LogPassThrough
wxLogPassThrough*
wxLogPassThrough::new()
MODULE=Wx PACKAGE=Wx::PlLogPassThrough
wxPlLogPassThrough*
wxPlLogPassThrough::new()
CODE:
RETVAL = new wxPlLogPassThrough( CLASS );
OUTPUT:
RETVAL
MODULE=Wx PACKAGE=Wx::LogStderr
wxLogStderr*
wxLogStderr::new( fp = NULL )
FILE* fp;
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
MODULE=Wx PACKAGE=Wx::PlLogFormatter
wxPlLogFormatter*
wxPlLogFormatter::new()
CODE:
RETVAL = new wxPlLogFormatter( CLASS );
OUTPUT: RETVAL
void
wxPlLogFormatter::Destroy()
CODE:
delete THIS;
MODULE=Wx PACKAGE=Wx::LogFormatter
void
wxLogFormatter::Destroy()
CODE:
delete THIS;
MODULE=Wx PACKAGE=Wx::LogRecordInfo
const char*
wxLogRecordInfo::filename()
CODE:
RETVAL = THIS->filename;
OUTPUT: RETVAL
int
wxLogRecordInfo::line()
CODE:
RETVAL = THIS->line;
OUTPUT: RETVAL
const char*
wxLogRecordInfo::func()
CODE:
RETVAL = THIS->func;
OUTPUT: RETVAL
const char*
wxLogRecordInfo::component()
CODE:
RETVAL = THIS->filename;
OUTPUT: RETVAL
time_t
wxLogRecordInfo::timestamp()
CODE:
RETVAL = THIS->timestamp;
OUTPUT: RETVAL
void
StoreValue( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP_COUNT(wxPliOvl_s_n, Wx::LogRecordInfo::StoreNumValue, 2 )
MATCH_REDISP_COUNT(wxPliOvl_s_s, Wx::LogRecordInfo::StoreStrValue, 2 )
END_OVERLOAD( "Wx::LogRecordInfo::StoreValue" )
void
wxLogRecordInfo::StoreNumValue( key, val )
wxString key
wxUIntPtr val
CODE:
THIS->StoreValue( key, val );
void
wxLogRecordInfo::StoreStrValue( key, val )
wxString key
wxString val
CODE:
THIS->StoreValue( key, val );
void
wxLogRecordInfo::GetNumValue( key )
wxString key
PREINIT:
wxUIntPtr val;
PPCODE:
bool result = THIS->GetNumValue( key, &val);
EXTEND( SP, 1 );
if(result) {
PUSHs( sv_2mortal( newSVuv( val ) ) );
} else {
PUSHs( &PL_sv_undef );
}
void
wxLogRecordInfo::GetStrValue( key )
wxString key
PREINIT:
wxString val;
PPCODE:
bool result = THIS->GetStrValue( key, &val);
EXTEND( SP, 1 );
if(result) {
SV* sv = sv_newmortal();
wxPli_wxString_2_sv( aTHX_ val, sv );
} else {
PUSHs( &PL_sv_undef );
}
#endif