pidgin/pidgin
Clone
Summary
Browse
Changes
Graph
Add a person property to PurpleContact
20 months ago, Gary Kramlich
b7e6166e5300
Add a person property to PurpleContact
Testing Done:
Ran the unit tests.
Reviewed at https://reviews.imfreedom.org/r/1852/
/*
* nmrequest.h
*
* Copyright (c) 2004 Novell, Inc. All Rights Reserved.
*
* 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; version 2 of the License.
*
* 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_NOVELL_NMREQUEST_H
#define PURPLE_NOVELL_NMREQUEST_H
typedef
struct
_NMRequest
NMRequest
;
#include
"nmuser.h"
/**
* Create a new request object. Object must be release with nm_release_object.
*
* @param cmd The request command string (e.g. "login")
* @param trans_id The request transaction id
*
* @return The new request object
*/
NMRequest
*
nm_create_request
(
const
char
*
cmd
,
int
trans_id
,
nm_response_cb
cb
,
gpointer
resp_data
,
gpointer
user_define
);
/**
* Release a request object.
*
* @param req The request to release
*/
void
nm_release_request
(
NMRequest
*
req
);
/**
* Add a new reference to this object. This reference must be released by
* a call to nm_release_object.
*
* @param req The request object
*/
void
nm_request_add_ref
(
NMRequest
*
req
);
/**
* Set the response callback for this request object. This is the callback
* that will be made when we get a response from the server.
*
* @param req The request object
* @param callback The response callback
*
*/
void
nm_request_set_callback
(
NMRequest
*
req
,
nm_response_cb
callback
);
/**
* Set the response data. This will be set differently depending on
* the request type (for example to nm_send_get_details will set this
* to be the newly create NMUserRecord object).
*
* @param req The request object
* @param data Pointer to some data
*
*/
void
nm_request_set_data
(
NMRequest
*
req
,
gpointer
data
);
/**
* Set the user defined data. This is the data that the client
* passes to the various nm_send_* functions. We will pass it
* back when we make the callback.
*
* @param req The request object
* @param user_define Pointer to some data
*
*/
void
nm_request_set_user_define
(
NMRequest
*
req
,
gpointer
user_define
);
/**
* Get the transaction id for this request.
*
* @param req The request object
*
* @return The transaction id.
*/
int
nm_request_get_trans_id
(
NMRequest
*
req
);
/**
* Get the command (request type) for this request.
*
* @param req The request object
*
* @return The request cmd
*/
const
char
*
nm_request_get_cmd
(
NMRequest
*
req
);
/**
* Get the response data for this request
*
* @param req The request object
*
* @return The response data
*/
gpointer
nm_request_get_data
(
NMRequest
*
req
);
/**
* Get the user defined data for this request
*
* @param req The request object
*
* @return The user defined data
*/
gpointer
nm_request_get_user_define
(
NMRequest
*
req
);
/**
* Get the response callback for this request
*
* @param req The request object
*
* @return The response callback
*/
nm_response_cb
nm_request_get_callback
(
NMRequest
*
req
);
#endif
/* PURPLE_NOVELL_NMREQUEST_H */