pidgin/pidgin
Clone
Summary
Browse
Changes
Graph
Create a glibcompat.h to define G_GNUC_(BEGIN,END)_IGNORE_DEPRECATIONS which was added in 2.32.0 but we only require 2.16.0
release-2.x.y
2019-11-11, Gary Kramlich
dc5e8cca7434
Create a glibcompat.h to define G_GNUC_(BEGIN,END)_IGNORE_DEPRECATIONS which was added in 2.32.0 but we only require 2.16.0
#include "module.h"
MODULE
=
Purple
::
Log
PACKAGE
=
Purple
::
Log
PREFIX
=
purple_log_
PROTOTYPES
:
ENABLE
BOOT
:
{
HV
*
type_stash
=
gv_stashpv
(
"Purple::Log::Type"
,
1
);
HV
*
flags_stash
=
gv_stashpv
(
"Purple::Log::ReadFlags"
,
1
);
static
const
constiv
*
civ
,
type_const_iv
[]
=
{
#define const_iv(name) {#name, (IV)PURPLE_LOG_##name}
const_iv
(
IM
),
const_iv
(
CHAT
),
const_iv
(
SYSTEM
),
};
static
const
constiv
flags_const_iv
[]
=
{
#undef const_iv
#define const_iv(name) {#name, (IV)PURPLE_LOG_READ_##name}
const_iv
(
NO_NEWLINE
),
};
for
(
civ
=
type_const_iv
+
sizeof
(
type_const_iv
)
/
sizeof
(
type_const_iv
[
0
]);
civ
--
>
type_const_iv
;
)
newCONSTSUB
(
type_stash
,
(
char
*
)
civ
->
name
,
newSViv
(
civ
->
iv
));
for
(
civ
=
flags_const_iv
+
sizeof
(
flags_const_iv
)
/
sizeof
(
flags_const_iv
[
0
]);
civ
--
>
flags_const_iv
;
)
newCONSTSUB
(
flags_stash
,
(
char
*
)
civ
->
name
,
newSViv
(
civ
->
iv
));
}
Purple
::
Handle
purple_log_get_handle
()
int
purple_log_common_sizer
(
log
)
Purple
::
Log
log
void
purple_log_common_writer
(
log
,
ext
)
Purple
::
Log
log
const
char
*
ext
gint
purple_log_compare
(
y
,
z
)
gconstpointer
y
gconstpointer
z
void
purple_log_free
(
log
)
Purple
::
Log
log
gchar_own
*
purple_log_get_log_dir
(
type
,
name
,
account
)
Purple
::
LogType
type
const
char
*
name
Purple
::
Account
account
void
purple_log_get_log_sets
()
PREINIT
:
GHashTable
*
l
;
PPCODE
:
l
=
purple_log_get_log_sets
();
XPUSHs
(
sv_2mortal
(
purple_perl_bless_object
(
l
,
"GHashTable"
)));
void
purple_log_get_logs
(
type
,
name
,
account
)
Purple
::
LogType
type
const
char
*
name
Purple
::
Account
account
PREINIT
:
GList
*
l
,
*
ll
;
PPCODE
:
ll
=
purple_log_get_logs
(
type
,
name
,
account
);
for
(
l
=
ll
;
l
!=
NULL
;
l
=
l
->
next
)
{
XPUSHs
(
sv_2mortal
(
purple_perl_bless_object
(
l
->
data
,
"Purple::Log"
)));
}
/*
We
can
free
the
list
here
but
the
script
needs
to
free
the
*
Purple
::
Log
'objects'
itself
.
*/
g_list_free
(
ll
);
int
purple_log_get_size
(
log
)
Purple
::
Log
log
void
purple_log_get_system_logs
(
account
)
Purple
::
Account
account
PREINIT
:
GList
*
l
,
*
ll
;
PPCODE
:
ll
=
purple_log_get_system_logs
(
account
);
for
(
l
=
ll
;
l
!=
NULL
;
l
=
l
->
next
)
{
XPUSHs
(
sv_2mortal
(
purple_perl_bless_object
(
l
->
data
,
"Purple::Log"
)));
}
/*
We
can
free
the
list
here
but
the
script
needs
to
free
the
*
Purple
::
Log
'objects'
itself
.
*/
g_list_free
(
ll
);
int
purple_log_get_total_size
(
type
,
name
,
account
)
Purple
::
LogType
type
const
char
*
name
Purple
::
Account
account
void
purple_log_logger_free
(
logger
)
Purple
::
Log
::
Logger
logger
void
purple_log_logger_get_options
()
PREINIT
:
GList
*
l
,
*
ll
;
PPCODE
:
/*
This
might
want
to
be
massaged
to
a
hash
,
since
that
's essentially
*
what
the
key
/
value
list
is
emulating
.
*/
for
(
l
=
ll
=
purple_log_logger_get_options
();
l
!=
NULL
;
l
=
l
->
next
)
{
XPUSHs
(
sv_2mortal
(
newSVpv
(
l
->
data
,
0
)));
}
g_list_free
(
ll
);
gchar_own
*
purple_log_read
(
log
,
flags
)
Purple
::
Log
log
Purple
::
Log
::
ReadFlags
flags
gint
purple_log_set_compare
(
y
,
z
)
gconstpointer
y
gconstpointer
z