libpurple/log.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 25889
26d9ca30335c
child 32438
dc8991868906
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file log.h Logging API
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
20889
3d0ef192f98c All the links to libpurple signal pages were in the comment containing the
Will Thompson <resiak@pidgin.im>
parents: 20147
diff changeset
4 * @see @ref log-signals
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
7 /* purple
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
9 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7586
diff changeset
10 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7586
diff changeset
11 * source distribution.
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
12 *
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * This program is free software; you can redistribute it and/or modify
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * it under the terms of the GNU General Public License as published by
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * the Free Software Foundation; either version 2 of the License, or
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * (at your option) any later version.
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 *
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * This program is distributed in the hope that it will be useful,
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * GNU General Public License for more details.
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 *
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * You should have received a copy of the GNU General Public License
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18412
diff changeset
25 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
27 #ifndef _PURPLE_LOG_H_
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
28 #define _PURPLE_LOG_H_
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
30 #include <stdio.h>
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
33 /********************************************************
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
34 * DATA STRUCTURES **************************************
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
35 ********************************************************/
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
36
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
37 typedef struct _PurpleLog PurpleLog;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
38 typedef struct _PurpleLogLogger PurpleLogLogger;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
39 typedef struct _PurpleLogCommonLoggerData PurpleLogCommonLoggerData;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
40 typedef struct _PurpleLogSet PurpleLogSet;
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
41
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
42 typedef enum {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
43 PURPLE_LOG_IM,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
44 PURPLE_LOG_CHAT,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
45 PURPLE_LOG_SYSTEM
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
46 } PurpleLogType;
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
47
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
48 typedef enum {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
49 PURPLE_LOG_READ_NO_NEWLINE = 1
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
50 } PurpleLogReadFlags;
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
51
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
52 #include "account.h"
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
53 #include "conversation.h"
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
54
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
55 typedef void (*PurpleLogSetCallback) (GHashTable *sets, PurpleLogSet *set);
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
56
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
57 /**
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
58 * A log logger.
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
59 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
60 * This struct gets filled out and is included in the PurpleLog. It contains everything
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
61 * needed to write and read from logs.
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
62 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
63 struct _PurpleLogLogger {
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
64 char *name; /**< The logger's name */
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
65 char *id; /**< an identifier to refer to this logger */
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
66
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
67 /** This gets called when the log is first created.
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
68 I don't think this is actually needed. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
69 void (*create)(PurpleLog *log);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
70
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
71 /** This is used to write to the log file */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
72 gsize (*write)(PurpleLog *log,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
73 PurpleMessageFlags type,
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
74 const char *from,
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
75 time_t time,
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
76 const char *message);
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
77
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
78 /** Called when the log is destroyed */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
79 void (*finalize)(PurpleLog *log);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
80
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
81 /** This function returns a sorted GList of available PurpleLogs */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
82 GList *(*list)(PurpleLogType type, const char *name, PurpleAccount *account);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
83
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
84 /** Given one of the logs returned by the logger's list function,
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
85 * this returns the contents of the log in GtkIMHtml markup */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
86 char *(*read)(PurpleLog *log, PurpleLogReadFlags *flags);
10231
047177cee39f [gaim-migrate @ 11366]
Andrew Hart <arhart@users.sourceforge.net>
parents: 10171
diff changeset
87
7556
2154c3f5be68 [gaim-migrate @ 8170]
Sean Egan <seanegan@pidgin.im>
parents: 7456
diff changeset
88 /** Given one of the logs returned by the logger's list function,
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
89 * this returns the size of the log in bytes */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
90 int (*size)(PurpleLog *log);
8096
306a66d5171a [gaim-migrate @ 8795]
Luke Schierer <lschiere@pidgin.im>
parents: 8046
diff changeset
91
306a66d5171a [gaim-migrate @ 8795]
Luke Schierer <lschiere@pidgin.im>
parents: 8046
diff changeset
92 /** Returns the total size of all the logs. If this is undefined a default
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
93 * implementation is used */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
94 int (*total_size)(PurpleLogType type, const char *name, PurpleAccount *account);
8573
3f37bd7005c8 [gaim-migrate @ 9321]
Ka-Hing Cheung <khc@pidgin.im>
parents: 8096
diff changeset
95
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
96 /** This function returns a sorted GList of available system PurpleLogs */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
97 GList *(*list_syslog)(PurpleAccount *account);
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
98
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
99 /** Adds PurpleLogSets to a GHashTable. By passing the data in the PurpleLogSets
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
100 * to list, the caller can get every available PurpleLog from the logger.
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
101 * Loggers using purple_log_common_writer() (or otherwise storing their
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
102 * logs in the same directory structure as the stock loggers) do not
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
103 * need to implement this function.
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
104 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
105 * Loggers which implement this function must create a PurpleLogSet,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
106 * then call @a cb with @a sets and the newly created PurpleLogSet. */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
107 void (*get_log_sets)(PurpleLogSetCallback cb, GHashTable *sets);
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
108
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
109 /* Attempts to delete the specified log, indicating success or failure */
16116
bccaa68c86ad "delete" is a reserved word in C++, rename the "delete" member of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15884
diff changeset
110 gboolean (*remove)(PurpleLog *log);
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
111
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
112 /* Tests whether a log is deletable */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
113 gboolean (*is_deletable)(PurpleLog *log);
16743
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 16116
diff changeset
114
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 16116
diff changeset
115 void (*_purple_reserved1)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 16116
diff changeset
116 void (*_purple_reserved2)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 16116
diff changeset
117 void (*_purple_reserved3)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 16116
diff changeset
118 void (*_purple_reserved4)(void);
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
119 };
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
121 /**
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
122 * A log. Not the wooden type.
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
123 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
124 struct _PurpleLog {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
125 PurpleLogType type; /**< The type of log this is */
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
126 char *name; /**< The name of this log */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
127 PurpleAccount *account; /**< The account this log is taking
13120
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
128 place on */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
129 PurpleConversation *conv; /**< The conversation being logged */
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
130 time_t time; /**< The time this conversation
13120
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
131 started, converted to the local timezone */
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
132
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
133 PurpleLogLogger *logger; /**< The logging mechanism this log
13120
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
134 is to use */
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
135 void *logger_data; /**< Data used by the log logger */
13120
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
136 struct tm *tm; /**< The time this conversation
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
137 started, saved with original
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
138 timezone data, if available and
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
139 if struct tm has the BSD
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
140 timezone fields, else @c NULL.
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
141 Do NOT modify anything in this struct.*/
13624
c6577def4e2a [gaim-migrate @ 16009]
Richard Laager <rlaager@pidgin.im>
parents: 13389
diff changeset
142
c6577def4e2a [gaim-migrate @ 16009]
Richard Laager <rlaager@pidgin.im>
parents: 13389
diff changeset
143 /* IMPORTANT: Some code in log.c allocates these without zeroing them.
c6577def4e2a [gaim-migrate @ 16009]
Richard Laager <rlaager@pidgin.im>
parents: 13389
diff changeset
144 * IMPORTANT: Update that code if you add members here. */
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
145 };
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
146
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
147 /**
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
148 * A common logger_data struct containing a file handle and path, as well
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
149 * as a pointer to something else for additional data.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
150 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
151 struct _PurpleLogCommonLoggerData {
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
152 char *path;
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
153 FILE *file;
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
154 void *extra_data;
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
155 };
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
156
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
157 /**
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
158 * Describes available logs.
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
159 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
160 * By passing the elements of this struct to purple_log_get_logs(), the caller
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
161 * can get all available PurpleLogs.
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
162 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
163 struct _PurpleLogSet {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
164 PurpleLogType type; /**< The type of logs available */
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
165 char *name; /**< The name of the logs available */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
166 PurpleAccount *account; /**< The account the available logs
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
167 took place on. This will be
11503
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
168 @c NULL if the account no longer
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
169 exists. (Depending on a
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
170 logger's implementation of
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
171 list, it may not be possible
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
172 to load such logs.) */
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
173 gboolean buddy; /**< Is this (account, name) a buddy
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
174 on the buddy list? */
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
175 char *normalized_name; /**< The normalized version of
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
176 @a name. It must be set, and
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
177 may be set to the same pointer
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
178 value as @a name. */
13624
c6577def4e2a [gaim-migrate @ 16009]
Richard Laager <rlaager@pidgin.im>
parents: 13389
diff changeset
179
c6577def4e2a [gaim-migrate @ 16009]
Richard Laager <rlaager@pidgin.im>
parents: 13389
diff changeset
180 /* IMPORTANT: Some code in log.c allocates these without zeroing them.
c6577def4e2a [gaim-migrate @ 16009]
Richard Laager <rlaager@pidgin.im>
parents: 13389
diff changeset
181 * IMPORTANT: Update that code if you add members here. */
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
182 };
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
183
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5934
diff changeset
184 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5934
diff changeset
185 extern "C" {
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5934
diff changeset
186 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5934
diff changeset
187
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
188 /***************************************/
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
189 /** @name Log Functions */
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
190 /***************************************/
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
191 /*@{*/
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
192
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
193 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
194 * Creates a new log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
195 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
196 * @param type The type of log this is.
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 25883
diff changeset
197 * @param name The name of this conversation (buddy name, chat name,
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
198 * etc.)
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
199 * @param account The account the conversation is occurring on
11292
13068c68def6 [gaim-migrate @ 13492]
Richard Laager <rlaager@pidgin.im>
parents: 11177
diff changeset
200 * @param conv The conversation being logged
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
201 * @param time The time this conversation started
13120
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
202 * @param tm The time this conversation started, with timezone data,
c25222322810 [gaim-migrate @ 15481]
Richard Laager <rlaager@pidgin.im>
parents: 13059
diff changeset
203 * if available and if struct tm has the BSD timezone fields.
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
204 * @return The new log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
205 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
206 PurpleLog *purple_log_new(PurpleLogType type, const char *name, PurpleAccount *account,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
207 PurpleConversation *conv, time_t time, const struct tm *tm);
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
208
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
209 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
210 * Frees a log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
211 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
212 * @param log The log to destroy
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
213 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
214 void purple_log_free(PurpleLog *log);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
215
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
216 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
217 * Writes to a log file. Assumes you have checked preferences already.
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
218 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
219 * @param log The log to write to
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
220 * @param type The type of message being logged
11503
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
221 * @param from Whom this message is coming from, or @c NULL for
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
222 * system messages
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
223 * @param time A timestamp in UNIX time
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
224 * @param message The message to log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
225 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
226 void purple_log_write(PurpleLog *log,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
227 PurpleMessageFlags type,
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
228 const char *from,
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
229 time_t time,
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
230 const char *message);
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
231
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
232 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
233 * Reads from a log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
234 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
235 * @param log The log to read from
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
236 * @param flags The returned logging flags.
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
237 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
238 * @return The contents of this log in Purple Markup.
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
239 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
240 char *purple_log_read(PurpleLog *log, PurpleLogReadFlags *flags);
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
241
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
242 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
243 * Returns a list of all available logs
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
244 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
245 * @param type The type of the log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
246 * @param name The name of the log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
247 * @param account The account
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
248 * @return A sorted list of PurpleLogs
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
249 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
250 GList *purple_log_get_logs(PurpleLogType type, const char *name, PurpleAccount *account);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
251
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
252 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
253 * Returns a GHashTable of PurpleLogSets.
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
254 *
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
255 * A "log set" here means the information necessary to gather the
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
256 * PurpleLogs for a given buddy/chat. This information would be passed
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
257 * to purple_log_list to get a list of PurpleLogs.
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
258 *
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
259 * The primary use of this function is to get a list of everyone the
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
260 * user has ever talked to (assuming he or she uses logging).
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
261 *
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
262 * The GHashTable that's returned will free all log sets in it when
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
263 * destroyed. If a PurpleLogSet is removed from the GHashTable, it
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
264 * must be freed with purple_log_set_free().
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
265 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
266 * @return A GHashTable of all available unique PurpleLogSets
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
267 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
268 GHashTable *purple_log_get_log_sets(void);
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
269
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
270 /**
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
271 * Returns a list of all available system logs
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
272 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
273 * @param account The account
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
274 * @return A sorted list of PurpleLogs
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
275 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
276 GList *purple_log_get_system_logs(PurpleAccount *account);
8573
3f37bd7005c8 [gaim-migrate @ 9321]
Ka-Hing Cheung <khc@pidgin.im>
parents: 8096
diff changeset
277
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
278 /**
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
279 * Returns the size of a log
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
280 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
281 * @param log The log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
282 * @return The size of the log, in bytes
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
283 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
284 int purple_log_get_size(PurpleLog *log);
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
285
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
286 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
287 * Returns the size, in bytes, of all available logs in this conversation
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
288 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
289 * @param type The type of the log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
290 * @param name The name of the log
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
291 * @param account The account
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
292 * @return The size in bytes
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
293 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
294 int purple_log_get_total_size(PurpleLogType type, const char *name, PurpleAccount *account);
8573
3f37bd7005c8 [gaim-migrate @ 9321]
Ka-Hing Cheung <khc@pidgin.im>
parents: 8096
diff changeset
295
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
296 /**
25883
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
297 * Returns the activity score of a log, based on total size in bytes,
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
298 * which is then decayed based on age
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
299 *
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
300 * @param type The type of the log
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
301 * @param name The name of the log
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
302 * @param account The account
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
303 * @return The activity score
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
304 *
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
305 * @since 2.6.0
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
306 */
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
307 int purple_log_get_activity_score(PurpleLogType type, const char *name, PurpleAccount *account);
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
308
059b74032730 A patch from Chris Connett to change the log size sorting method to weight
Richard Laager <rlaager@pidgin.im>
parents: 20889
diff changeset
309 /**
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
310 * Tests whether a log is deletable
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
311 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
312 * A return value of @c FALSE indicates that purple_log_delete() will fail on this
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
313 * log, unless something changes between the two calls. A return value of @c TRUE,
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
314 * however, does not guarantee the log can be deleted.
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
315 *
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
316 * @param log The log
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
317 * @return A boolean indicating if the log is deletable
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
318 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
319 gboolean purple_log_is_deletable(PurpleLog *log);
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
320
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
321 /**
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
322 * Deletes a log
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
323 *
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
324 * @param log The log
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
325 * @return A boolean indicating success or failure
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
326 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
327 gboolean purple_log_delete(PurpleLog *log);
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
328
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
329 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
330 * Returns the default logger directory Purple uses for a given account
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
331 * and username. This would be where Purple stores logs created by
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
332 * the built-in text or HTML loggers.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
333 *
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
334 * @param type The type of the log.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
335 * @param name The name of the log.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
336 * @param account The account.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
337 * @return The default logger directory for Purple.
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
338 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
339 char *purple_log_get_log_dir(PurpleLogType type, const char *name, PurpleAccount *account);
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
340
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
341 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
342 * Implements GCompareFunc for PurpleLogs
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
343 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
344 * @param y A PurpleLog
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
345 * @param z Another PurpleLog
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
346 * @return A value as specified by GCompareFunc
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
347 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
348 gint purple_log_compare(gconstpointer y, gconstpointer z);
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
349
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
350 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
351 * Implements GCompareFunc for PurpleLogSets
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
352 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
353 * @param y A PurpleLogSet
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
354 * @param z Another PurpleLogSet
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
355 * @return A value as specified by GCompareFunc
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
356 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
357 gint purple_log_set_compare(gconstpointer y, gconstpointer z);
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
358
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
359 /**
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
360 * Frees a log set
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
361 *
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
362 * @param set The log set to destroy
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
363 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
364 void purple_log_set_free(PurpleLogSet *set);
11177
534ca3ae0bfc [gaim-migrate @ 13285]
Richard Laager <rlaager@pidgin.im>
parents: 11035
diff changeset
365
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
366 /*@}*/
8573
3f37bd7005c8 [gaim-migrate @ 9321]
Ka-Hing Cheung <khc@pidgin.im>
parents: 8096
diff changeset
367
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
368 /******************************************/
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
369 /** @name Common Logger Functions */
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
370 /******************************************/
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
371 /*@{*/
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
372
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
373 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
374 * Opens a new log file in the standard Purple log location
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
375 * with the given file extension, named for the current time,
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
376 * for writing. If a log file is already open, the existing
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
377 * file handle is retained. The log's logger_data value is
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
378 * set to a PurpleLogCommonLoggerData struct containing the log
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
379 * file handle and log path.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
380 *
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
381 * This function is intended to be used as a "common"
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
382 * implementation of a logger's @c write function.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
383 * It should only be passed to purple_log_logger_new() and never
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
384 * called directly.
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
385 *
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
386 * @param log The log to write to.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
387 * @param ext The file extension to give to this log file.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
388 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
389 void purple_log_common_writer(PurpleLog *log, const char *ext);
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
390
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
391 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
392 * Returns a sorted GList of PurpleLogs of the requested type.
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
393 *
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
394 * This function should only be used with logs that are written
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
395 * with purple_log_common_writer(). It's intended to be used as
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
396 * a "common" implementation of a logger's @c list function.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
397 * It should only be passed to purple_log_logger_new() and never
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
398 * called directly.
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
399 *
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
400 * @param type The type of the logs being listed.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
401 * @param name The name of the log.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
402 * @param account The account of the log.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
403 * @param ext The file extension this log format uses.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
404 * @param logger A reference to the logger struct for this log.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
405 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
406 * @return A sorted GList of PurpleLogs matching the parameters.
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
407 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
408 GList *purple_log_common_lister(PurpleLogType type, const char *name,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
409 PurpleAccount *account, const char *ext,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
410 PurpleLogLogger *logger);
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
411
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
412 /**
13389
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
413 * Returns the total size of all the logs for a given user, with
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
414 * a given extension.
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
415 *
13389
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
416 * This function should only be used with logs that are written
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
417 * with purple_log_common_writer(). It's intended to be used as
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
418 * a "common" implementation of a logger's @c total_size function.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
419 * It should only be passed to purple_log_logger_new() and never
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
420 * called directly.
13389
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
421 *
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
422 * @param type The type of the logs being sized.
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
423 * @param name The name of the logs to size
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
424 * (e.g. the username or chat name).
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
425 * @param account The account of the log.
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
426 * @param ext The file extension this log format uses.
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
427 *
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
428 * @return The size of all the logs with the specified extension
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
429 * for the specified user.
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
430 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
431 int purple_log_common_total_sizer(PurpleLogType type, const char *name,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
432 PurpleAccount *account, const char *ext);
13389
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
433
27cf7d84dfd1 [gaim-migrate @ 15761]
Richard Laager <rlaager@pidgin.im>
parents: 13120
diff changeset
434 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
435 * Returns the size of a given PurpleLog.
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
436 *
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
437 * This function should only be used with logs that are written
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
438 * with purple_log_common_writer(). It's intended to be used as
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
439 * a "common" implementation of a logger's @c size function.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
440 * It should only be passed to purple_log_logger_new() and never
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
441 * called directly.
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
442 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
443 * @param log The PurpleLog to size.
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
444 *
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
445 * @return An integer indicating the size of the log in bytes.
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
446 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
447 int purple_log_common_sizer(PurpleLog *log);
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
448
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
449 /**
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
450 * Deletes a log
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
451 *
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
452 * This function should only be used with logs that are written
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
453 * with purple_log_common_writer(). It's intended to be used as
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
454 * a "common" implementation of a logger's @c delete function.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
455 * It should only be passed to purple_log_logger_new() and never
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
456 * called directly.
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
457 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
458 * @param log The PurpleLog to delete.
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
459 *
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
460 * @return A boolean indicating success or failure.
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
461 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
462 gboolean purple_log_common_deleter(PurpleLog *log);
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
463
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
464 /**
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
465 * Checks to see if a log is deletable
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
466 *
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
467 * This function should only be used with logs that are written
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
468 * with purple_log_common_writer(). It's intended to be used as
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
469 * a "common" implementation of a logger's @c is_deletable function.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
470 * It should only be passed to purple_log_logger_new() and never
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
471 * called directly.
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
472 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
473 * @param log The PurpleLog to check.
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
474 *
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
475 * @return A boolean indicating if the log is deletable.
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
476 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
477 gboolean purple_log_common_is_deletable(PurpleLog *log);
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
478
10822
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
479 /*@}*/
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
480
142911801a14 [gaim-migrate @ 12484]
Kevin Stange <kstange@pidgin.im>
parents: 10812
diff changeset
481 /******************************************/
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
482 /** @name Logger Functions */
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
483 /******************************************/
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
484 /*@{*/
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
485
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
486 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
487 * Creates a new logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
488 *
11503
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
489 * @param id The logger's id.
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
490 * @param name The logger's name.
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
491 * @param functions The number of functions being passed. The following
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
492 * functions are currently available (in order): @c create,
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
493 * @c write, @c finalize, @c list, @c read, @c size,
15584
f4d9ac6f94b8 This is the core code to support log deletion. It's untested.
Richard Laager <rlaager@pidgin.im>
parents: 15435
diff changeset
494 * @c total_size, @c list_syslog, @c get_log_sets,
16116
bccaa68c86ad "delete" is a reserved word in C++, rename the "delete" member of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15884
diff changeset
495 * @c remove, @c is_deletable.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
496 * For details on these functions, see PurpleLogLogger.
11503
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
497 * Functions may not be skipped. For example, passing
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
498 * @c create and @c write is acceptable (for a total of
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
499 * two functions). Passing @c create and @c finalize,
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
500 * however, is not. To accomplish that, the caller must
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
501 * pass @c create, @c NULL (a placeholder for @c write),
9f15d4c089b9 [gaim-migrate @ 13748]
Richard Laager <rlaager@pidgin.im>
parents: 11292
diff changeset
502 * and @c finalize (for a total of 3 functions).
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
503 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
504 * @return The new logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
505 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
506 PurpleLogLogger *purple_log_logger_new(const char *id, const char *name, int functions, ...);
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
507
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
508 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
509 * Frees a logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
510 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
511 * @param logger The logger to free
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
512 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
513 void purple_log_logger_free(PurpleLogLogger *logger);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
514
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
515 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
516 * Adds a new logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
517 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
518 * @param logger The new logger to add
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
519 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
520 void purple_log_logger_add (PurpleLogLogger *logger);
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
521
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
522 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
523 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
524 * Removes a logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
525 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
526 * @param logger The logger to remove
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
527 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
528 void purple_log_logger_remove (PurpleLogLogger *logger);
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
529
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
530 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
531 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
532 * Sets the current logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
533 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
534 * @param logger The logger to set
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
535 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
536 void purple_log_logger_set (PurpleLogLogger *logger);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
537
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
538 /**
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
539 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
540 * Returns the current logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
541 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
542 * @return logger The current logger
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
543 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
544 PurpleLogLogger *purple_log_logger_get (void);
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
545
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
546 /**
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
547 * Returns a GList containing the IDs and names of the registered
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
548 * loggers.
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
549 *
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
550 * @return The list of IDs and names.
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
551 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
552 GList *purple_log_logger_get_options(void);
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
553
12737
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
554 /**************************************************************************/
12835
edc2ec6ae9f3 [gaim-migrate @ 15183]
Richard Laager <rlaager@pidgin.im>
parents: 12737
diff changeset
555 /** @name Log Subsystem */
12737
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
556 /**************************************************************************/
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
557 /*@{*/
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
558
11025
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
559 /**
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
560 * Initializes the log subsystem.
41b6449f7dff [gaim-migrate @ 12899]
Richard Laager <rlaager@pidgin.im>
parents: 10822
diff changeset
561 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
562 void purple_log_init(void);
12737
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
563
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
564 /**
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
565 * Returns the log subsystem handle.
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
566 *
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
567 * @return The log subsystem handle.
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
568 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
569 void *purple_log_get_handle(void);
12737
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
570
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
571 /**
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
572 * Uninitializes the log subsystem.
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
573 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
574 void purple_log_uninit(void);
12737
e1300804318e [gaim-migrate @ 15082]
Richard Laager <rlaager@pidgin.im>
parents: 11503
diff changeset
575
10566
b681d2b3dec5 [gaim-migrate @ 11949]
Etan Reisner <deryni@pidgin.im>
parents: 10348
diff changeset
576 /*@}*/
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 6695
diff changeset
577
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
578
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5934
diff changeset
579 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5934
diff changeset
580 }
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5934
diff changeset
581 #endif
7440
e0d8f6bc36c2 [gaim-migrate @ 8045]
Nathan Walp <nwalp@pidgin.im>
parents: 7431
diff changeset
582
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15584
diff changeset
583 #endif /* _PURPLE_LOG_H_ */

mercurial