1
2
3
4
5
6
7
8
9
10
11
|
/*
* Copyright (c) 2013, Florian Zeitz <florob@babelmonkeys.de>
*
* https://webkeks.org/git/?p=objxmpp.git
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice is present in all copies.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
>
|
|
1
2
3
4
5
6
7
8
9
10
11
12
|
/*
* Copyright (c) 2013, Florian Zeitz <florob@babelmonkeys.de>
* Copyright (c) 2013, 2016, Jonathan Schleifer <js@heap.zone>
*
* https://heap.zone/git/?p=objxmpp.git
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice is present in all copies.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
@class XMPPPresence;
/**
* \brief A protocol that should be (partially) implemented by delegates
* of a XMPPContactManager
*/
@protocol XMPPContactManagerDelegate <OFObject>
#ifdef OF_HAVE_OPTIONAL_PROTOCOLS
@optional
#endif
/**
* \brief This callback is called whenever a new contact enters the users roster
*
* \param manager The contact manager that added the contact
* \param contact The contact that was added
*/
- (void)contactManager: (XMPPContactManager*)manager
|
<
<
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
@class XMPPPresence;
/**
* \brief A protocol that should be (partially) implemented by delegates
* of a XMPPContactManager
*/
@protocol XMPPContactManagerDelegate <OFObject>
@optional
/**
* \brief This callback is called whenever a new contact enters the users roster
*
* \param manager The contact manager that added the contact
* \param contact The contact that was added
*/
- (void)contactManager: (XMPPContactManager*)manager
|
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/**
* \brief A class tracking a XMPPContact instance for each contact in the roster
*
* This class delegates to a XMPPConnection and a XMPPRoster, thereby tracking
* each contacts presences and the current XMPPRosterItem.
*/
@interface XMPPContactManager: OFObject
#ifdef OF_HAVE_OPTIONAL_PROTOCOLS
<XMPPConnectionDelegate, XMPPRosterDelegate>
#endif
{
OFMutableDictionary *_contacts;
XMPPConnection *_connection;
XMPPRoster *_roster;
XMPPMulticastDelegate *_delegates;
}
#ifdef OF_HAVE_PROPERTIES
/// \brief The tracked contacts, with their bare JID as key
@property (readonly) OFDictionary *contacts;
#endif
/*!
* @brief Initializes an already allocated XMPPContactManager.
*
* @param connection The connection to be used to track contacts
* @param roster The roster used by the contact manager
* @return An initialized XMPPContactManager
|
|
<
|
<
<
<
|
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
/**
* \brief A class tracking a XMPPContact instance for each contact in the roster
*
* This class delegates to a XMPPConnection and a XMPPRoster, thereby tracking
* each contacts presences and the current XMPPRosterItem.
*/
@interface XMPPContactManager: OFObject <XMPPConnectionDelegate,
XMPPRosterDelegate>
{
OFMutableDictionary *_contacts;
XMPPConnection *_connection;
XMPPRoster *_roster;
XMPPMulticastDelegate *_delegates;
}
/// \brief The tracked contacts, with their bare JID as key
@property (readonly) OFDictionary *contacts;
/*!
* @brief Initializes an already allocated XMPPContactManager.
*
* @param connection The connection to be used to track contacts
* @param roster The roster used by the contact manager
* @return An initialized XMPPContactManager
|