Mercurial > pidgin
view src/protocols/zephyr/ZNewLocU.c @ 9797:62eb9fe24692
[gaim-migrate @ 10665]
"This patch adds gaim_notify_userinfo() and a notify_userinfo() UI
callback. gaim_notify_userinfo() is much like
gaim_notify_formatted() except that it always takes a
GaimConnection* as its handle and has an
additional argument, const char* who.
gaim_gtk_notify_userinfo() currently passes all the information
except the GaimConnection* and the const char* who to
gaim_gtk_notify_formatted(). This could be changed in the future
to, for example, have a standardized window title which would
note the account and/or user associated with the information.
This is needed because some UIs (Adium, for example) don't want
to present the information in a standalone window - they want to
associate the information with a particular contact / buddy and
display it with that object's other information. Previously,
gaim_notify_formatted() was not useful for this purpose as it could
not be determined what user's info it was; gaim_notify_userinfo()
makes this possible.
This patch modifies notify.c and notify.h for the new function,
modifies gtknotify.c to register the ui op and pass calls to it on the
gaim_gtk_notify_formatted, and modifies all prpls except SILC
(which I don't understand well enough to modify, but there's no
actual harm in leaving it as gaim_notify_formatted() for now) to
use gaim_notify_userinfo() and pass their gc and username when
calling the function." -- Evan Schoenberg
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Fri, 20 Aug 2004 22:05:18 +0000 |
parents | 43d6c08d7e96 |
children | 64895571248f |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZNewLocateUser function. * * Created by: Robert French * * $Source$ * $Author: chipx86 $ * * Copyright (c) 1987,1988,1991 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ /* $Header$ */ #include "internal.h" #ifndef lint static const char rcsid_ZNewLocateUser_c[] = "$Id: ZNewLocU.c 9554 2004-04-24 09:02:28Z chipx86 $"; #endif Code_t ZLocateUser(user, nlocs, auth) char *user; int *nlocs; Z_AuthProc auth; { Code_t retval; ZNotice_t notice; ZAsyncLocateData_t zald; (void) ZFlushLocations(); /* ZFlushLocations never fails (the library is allowed to know this). */ if ((retval = ZRequestLocations(user, &zald, UNACKED, auth)) != ZERR_NONE) return(retval); retval = Z_WaitForNotice (¬ice, ZCompareALDPred, &zald, SRV_TIMEOUT); if (retval == ZERR_NONOTICE) return ETIMEDOUT; if (retval != ZERR_NONE) return retval; if ((retval = ZParseLocations(¬ice, &zald, nlocs, NULL)) != ZERR_NONE) { ZFreeNotice(¬ice); return(retval); } ZFreeNotice(¬ice); ZFreeALD(&zald); return(ZERR_NONE); }