pidgin/pidgin
Clone
Summary
Browse
Changes
Graph
Make sure we remove all the files we install.
release-2.x.y
2021-04-11, Gary Kramlich
5407cbf3c5dd
Make sure we remove all the files we install.
Patch was provided by Johann Lochner.
Testing Done:
Build and ran the installer and uninstaller and verified that `C:\Program Files (x86)\Pidgin` was empty and therefore removed.
Bugs closed: PIDGIN-17515
Reviewed at https://reviews.imfreedom.org/r/612/
/**
* @file tcl_purple.h Purple Tcl definitions
*
* purple
*
* Copyright (C) 2003 Ethan Blanton <eblanton@cs.purdue.edu>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
*/
#ifndef _PURPLE_TCL_PURPLE_H_
#define _PURPLE_TCL_PURPLE_H_
#include
<tcl.h>
#include
"internal.h"
#include
"cmds.h"
#include
"plugin.h"
#include
"value.h"
#include
"stringref.h"
struct
tcl_signal_handler
{
Tcl_Obj
*
signal
;
Tcl_Interp
*
interp
;
void
*
instance
;
Tcl_Obj
*
namespace
;
/* These following two are temporary during setup */
Tcl_Obj
*
args
;
Tcl_Obj
*
proc
;
PurpleValue
*
returntype
;
int
nargs
;
PurpleValue
**
argtypes
;
};
struct
tcl_cmd_handler
{
PurpleCmdId
id
;
Tcl_Obj
*
cmd
;
Tcl_Interp
*
interp
;
Tcl_Obj
*
namespace
;
/* These are temporary during setup */
const
char
*
args
;
int
priority
;
int
flags
;
const
char
*
prpl_id
;
Tcl_Obj
*
proc
;
const
char
*
helpstr
;
int
nargs
;
};
extern
PurplePlugin
*
_tcl_plugin
;
/* Capitalized this way because these are "types" */
extern
PurpleStringref
*
PurpleTclRefAccount
;
extern
PurpleStringref
*
PurpleTclRefConnection
;
extern
PurpleStringref
*
PurpleTclRefConversation
;
extern
PurpleStringref
*
PurpleTclRefPointer
;
extern
PurpleStringref
*
PurpleTclRefPlugin
;
extern
PurpleStringref
*
PurpleTclRefPresence
;
extern
PurpleStringref
*
PurpleTclRefStatus
;
extern
PurpleStringref
*
PurpleTclRefStatusAttr
;
extern
PurpleStringref
*
PurpleTclRefStatusType
;
extern
PurpleStringref
*
PurpleTclRefXfer
;
extern
PurpleStringref
*
PurpleTclRefHandle
;
PurplePlugin
*
tcl_interp_get_plugin
(
Tcl_Interp
*
interp
);
void
tcl_signal_init
(
void
);
void
tcl_signal_handler_free
(
struct
tcl_signal_handler
*
handler
);
void
tcl_signal_cleanup
(
Tcl_Interp
*
interp
);
gboolean
tcl_signal_connect
(
struct
tcl_signal_handler
*
handler
);
void
tcl_signal_disconnect
(
void
*
instance
,
const
char
*
signal
,
Tcl_Interp
*
interp
);
void
tcl_cmd_init
(
void
);
void
tcl_cmd_handler_free
(
struct
tcl_cmd_handler
*
handler
);
void
tcl_cmd_cleanup
(
Tcl_Interp
*
interp
);
PurpleCmdId
tcl_cmd_register
(
struct
tcl_cmd_handler
*
handler
);
void
tcl_cmd_unregister
(
PurpleCmdId
id
,
Tcl_Interp
*
interp
);
void
purple_tcl_ref_init
(
void
);
void
*
purple_tcl_ref_get
(
Tcl_Interp
*
interp
,
Tcl_Obj
*
obj
,
PurpleStringref
*
type
);
Tcl_Obj
*
purple_tcl_ref_new
(
PurpleStringref
*
type
,
void
*
value
);
Tcl_ObjCmdProc
tcl_cmd_account
;
Tcl_ObjCmdProc
tcl_cmd_signal_connect
;
Tcl_ObjCmdProc
tcl_cmd_buddy
;
Tcl_ObjCmdProc
tcl_cmd_cmd
;
Tcl_ObjCmdProc
tcl_cmd_connection
;
Tcl_ObjCmdProc
tcl_cmd_conversation
;
Tcl_ObjCmdProc
tcl_cmd_core
;
Tcl_ObjCmdProc
tcl_cmd_debug
;
Tcl_ObjCmdProc
tcl_cmd_notify
;
Tcl_ObjCmdProc
tcl_cmd_plugins
;
Tcl_ObjCmdProc
tcl_cmd_prefs
;
Tcl_ObjCmdProc
tcl_cmd_presence
;
Tcl_ObjCmdProc
tcl_cmd_savedstatus
;
Tcl_ObjCmdProc
tcl_cmd_send_im
;
Tcl_ObjCmdProc
tcl_cmd_signal
;
Tcl_ObjCmdProc
tcl_cmd_status
;
Tcl_ObjCmdProc
tcl_cmd_status_attr
;
Tcl_ObjCmdProc
tcl_cmd_status_type
;
Tcl_ObjCmdProc
tcl_cmd_unload
;
#endif
/* _PURPLE_TCL_PURPLE_H_ */