adium/adium
Clone
Summary
Browse
Changes
Graph
1.5.10.3b1
adium-1.5.10.3
2017-03-23, Evan D. Schoenberg, M.D.
6d760b7b1d69
1.5.10.3b1
/*
* Adium is the legal property of its developers, whose names are listed in the copyright file included
* with this source distribution.
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import <Adium/AIAccount.h>
#import <AdiumLibpurple/PurpleCommon.h>
#define KEY_DISPLAY_CUSTOM_EMOTICONS @"Display Custom Emoticons"
#define KEY_BROADCAST_MUSIC_INFO @"Broadcast Music Information"
#define KEY_KEY @"Key"
#define KEY_VALUE @"Value"
#define KEY_TYPE @"Type"
@class
SLPurpleCocoaAdapter
,
ESFileTransfer
,
AIService
,
AIContentMessage
,
AIStatus
,
AIWindowController
;
@protocol
AIAccountControllerRemoveConfirmationDialog
;
@interface
CBPurpleAccount
:
AIAccount
<
AIAccount_Privacy
>
{
PurpleAccount
*
account
;
NSMutableDictionary
*
customEmoticonWaitingDict
;
NSMutableArray
*
permittedContactsArray
;
NSMutableArray
*
deniedContactsArray
;
NSDictionary
*
tuneinfo
;
BOOL
unregisterAfterConnecting
;
BOOL
deletePurpleAccountAfterDisconnecting
;
BOOL
finishedConnectProcess
;
BOOL
openPsychicChats
;
BOOL
shouldIncludeNowPlayingInformationInAllStatuses
;
PurpleConnectionError
lastDisconnectionReason
;
}
-
(
const
char
*
)
protocolPlugin
;
-
(
PurpleAccount
*
)
purpleAccount
;
-
(
PurplePluginProtocolInfo
*
)
protocolInfo
;
-
(
void
)
setPurpleAccount:
(
PurpleAccount
*
)
inAccount
;
-
(
const
char
*
)
purpleAccountName
;
-
(
void
)
createNewPurpleAccount
;
-
(
void
)
dealloc
;
-
(
NSSet
*
)
supportedPropertyKeys
;
-
(
void
)
updateStatusForKey:
(
NSString
*
)
key
;
-
(
NSDictionary
*
)
defaultProperties
;
-
(
NSString
*
)
unknownGroupName
;
-
(
AIService
*
)
_serviceForUID:
(
NSString
*
)
contactUID
;
-
(
void
)
unregisteredAccount:
(
BOOL
)
success
;
#pragma mark Subclass-reuse but not declared
//Instructs the account to accept a file transfer request
-
(
void
)
acceptFileTransferRequest:
(
ESFileTransfer
*
)
fileTransfer
;
//Instructs the account to reject a file receive request
-
(
void
)
rejectFileReceiveRequest:
(
ESFileTransfer
*
)
fileTransfer
;
//Instructs the account to cancel a file transfer in progress
-
(
void
)
cancelFileTransfer:
(
ESFileTransfer
*
)
fileTransfer
;
#pragma mark -
//Private (for subclasses only) file transfer methods
-
(
PurpleXfer
*
)
newOutgoingXferForFileTransfer:
(
ESFileTransfer
*
)
fileTransfer
;
-
(
void
)
_beginSendOfFileTransfer:
(
ESFileTransfer
*
)
fileTransfer
;
//AIAccount_Privacy
-(
BOOL
)
addListObject:
(
AIListObject
*
)
inObject
toPrivacyList:
(
AIPrivacyType
)
type
;
-(
BOOL
)
removeListObject:
(
AIListObject
*
)
inObject
fromPrivacyList:
(
AIPrivacyType
)
type
;
-(
NSArray
*
)
listObjectsOnPrivacyList:
(
AIPrivacyType
)
type
;
//Connectivity
-
(
void
)
connect
;
-
(
void
)
configureAccountProxyNotifyingTarget:
(
id
)
target
selector:
(
SEL
)
selector
;
-
(
void
)
disconnect
;
-
(
PurpleConnectionError
)
lastDisconnectionReason
;
-
(
NSString
*
)
connectionStringForStep:
(
NSInteger
)
step
;
-
(
void
)
configurePurpleAccount
;
-
(
PurpleSslConnection
*
)
secureConnection
;
//Account status
-
(
NSSet
*
)
supportedPropertyKeys
;
-
(
void
)
updateStatusForKey:
(
NSString
*
)
key
;
-
(
void
)
setAccountIdleSinceTo:
(
NSDate
*
)
idleSince
;
-
(
void
)
setStatusState:
(
AIStatus
*
)
statusState
statusID:
(
const
char
*
)
statusID
isActive:
(
NSNumber
*
)
isActive
arguments:
(
NSMutableDictionary
*
)
arguments
;
-
(
const
char
*
)
purpleStatusIDForStatus:
(
AIStatus
*
)
statusState
arguments
:(
NSMutableDictionary
*
)
arguments
;
-
(
void
)
setAccountProfileTo:
(
NSAttributedString
*
)
profile
;
-
(
BOOL
)
shouldSetAliasesServerside
;
-
(
SLPurpleCocoaAdapter
*
)
purpleAdapter
;
#pragma mark Purple callback handling methods
-
(
void
)
accountConnectionConnected
;
-
(
void
)
accountConnectionReportDisconnect:
(
NSString
*
)
text
withReason:
(
PurpleConnectionError
)
reason
;
-
(
void
)
accountConnectionNotice:
(
NSString
*
)
text
;
-
(
void
)
accountConnectionDisconnected
;
-
(
void
)
accountConnectionProgressStep:
(
NSNumber
*
)
step
percentDone:
(
NSNumber
*
)
connectionProgressPrecent
;
-
(
void
)
newContact:
(
AIListContact
*
)
theContact
withName:
(
NSString
*
)
inName
;
-
(
void
)
addContact:
(
AIListContact
*
)
theContact
toGroupName
:(
NSString
*
)
groupName
contactName
:(
NSString
*
)
contactName
;
-
(
void
)
removeContact:
(
AIListContact
*
)
theContact
fromGroupName:
(
NSString
*
)
groupName
;
-
(
void
)
updateContact:
(
AIListContact
*
)
theContact
toAlias:
(
NSString
*
)
purpleAlias
;
-
(
void
)
updateContact:
(
AIListContact
*
)
theContact
forEvent:
(
NSNumber
*
)
event
;
-
(
void
)
updateSignon:
(
AIListContact
*
)
theContact
withData:
(
void
*
)
data
;
-
(
void
)
updateSignoff:
(
AIListContact
*
)
theContact
withData:
(
void
*
)
data
;
-
(
void
)
updateSignonTime:
(
AIListContact
*
)
theContact
withData:
(
NSDate
*
)
signonDate
;
-
(
void
)
updateStatusForContact:
(
AIListContact
*
)
theContact
toStatusType
:(
NSNumber
*
)
statusTypeNumber
statusName
:(
NSString
*
)
statusName
statusMessage
:(
NSAttributedString
*
)
statusMessage
isMobile
:(
BOOL
)
isMobile
;
-
(
NSString
*
)
statusNameForPurpleBuddy:
(
PurpleBuddy
*
)
b
;
-
(
NSAttributedString
*
)
statusMessageForPurpleBuddy:
(
PurpleBuddy
*
)
b
;
-
(
void
)
updateEvil:
(
AIListContact
*
)
theContact
withData:
(
NSNumber
*
)
evilNumber
;
-
(
void
)
updateIcon:
(
AIListContact
*
)
theContact
withData:
(
NSData
*
)
userIconData
;
-
(
void
)
removeContact:
(
AIListContact
*
)
theContact
;
-
(
NSWindowController
*
)
authorizationRequestWithDict:
(
NSDictionary
*
)
dict
__attribute__
((
ns_returns_retained
));
-
(
void
)
addChat:
(
AIChat
*
)
chat
;
-
(
void
)
typingUpdateForIMChat:
(
AIChat
*
)
chat
typing:
(
NSNumber
*
)
typing
;
-
(
void
)
updateForChat:
(
AIChat
*
)
chat
type:
(
NSNumber
*
)
type
;
-
(
AIChat
*
)
chatWithContact:
(
AIListContact
*
)
contact
identifier:
(
id
)
identifier
;
-
(
void
)
chatWasDestroyed:
(
AIChat
*
)
chat
;
-
(
void
)
chatJoinDidFail:
(
AIChat
*
)
chat
;
-
(
void
)
receivedEventForChat:
(
AIChat
*
)
chat
message
:(
NSString
*
)
message
date
:(
NSDate
*
)
date
flags
:(
NSNumber
*
)
flagsNumber
;
-
(
void
)
receivedIMChatMessage:
(
NSDictionary
*
)
messageDict
inChat:
(
AIChat
*
)
chat
;
-
(
void
)
receivedMultiChatMessage:
(
NSDictionary
*
)
messageDict
inChat:
(
AIChat
*
)
chat
;
-
(
void
)
leftChat:
(
AIChat
*
)
chat
;
-
(
void
)
requestReceiveOfFileTransfer:
(
ESFileTransfer
*
)
fileTransfer
;
-
(
void
)
updateProgressForFileTransfer:
(
ESFileTransfer
*
)
fileTransfer
percent
:(
NSNumber
*
)
percent
bytesSent
:(
NSNumber
*
)
bytesSent
;
-
(
void
)
fileTransferCancelledRemotely:
(
ESFileTransfer
*
)
fileTransfer
;
-
(
void
)
fileTransferCancelledLocally:
(
ESFileTransfer
*
)
fileTransfer
;
-
(
void
)
destroyFileTransfer:
(
ESFileTransfer
*
)
fileTransfer
;
-
(
ESFileTransfer
*
)
newFileTransferObjectWith:
(
NSString
*
)
destinationUID
size
:(
unsigned
long
long
)
inSize
remoteFilename
:(
NSString
*
)
remoteFilename
__attribute__
((
objc_method_family
(
none
)));
-
(
BOOL
)
allowFileTransferWithListObject:
(
AIListObject
*
)
inListObject
;
-
(
BOOL
)
canSendFolders
;
-
(
AIChat
*
)
chatWithName:
(
NSString
*
)
name
identifier:
(
id
)
identifier
;
-
(
void
)
requestAddContactWithUID:
(
NSString
*
)
contactUID
;
-
(
void
)
gotGroupForContact:
(
AIListContact
*
)
contact
;
-
(
NSString
*
)
encodedAttributedString:
(
NSAttributedString
*
)
inAttributedString
forStatusState
:(
AIStatus
*
)
statusState
;
-
(
BOOL
)
inviteContact:
(
AIListContact
*
)
contact
toChat:
(
AIChat
*
)
chat
withMessage:
(
NSString
*
)
inviteMessage
;
-
(
NSString
*
)
titleForContactMenuLabel:
(
const
char
*
)
label
forContact:
(
AIListContact
*
)
inContact
;
-
(
NSString
*
)
titleForAccountActionMenuLabel:
(
const
char
*
)
label
;
-
(
NSString
*
)
_UIDForAddingObject:
(
AIListContact
*
)
object
;
#pragma mark Contacts
-
(
void
)
setAttribute:
(
NSString
*
)
name
value:
(
NSString
*
)
value
forContact:
(
AIListContact
*
)
contact
;
-
(
void
)
renameContact:
(
AIListContact
*
)
theContact
toUID:
(
NSString
*
)
newUID
;
-
(
void
)
updateWentIdle:
(
AIListContact
*
)
theContact
withData:
(
NSDate
*
)
idleSinceDate
;
-
(
void
)
updateIdleReturn:
(
AIListContact
*
)
theContact
withData:
(
void
*
)
data
;
-
(
NSMutableArray
*
)
arrayOfDictionariesFromPurpleNotifyUserInfo:
(
PurpleNotifyUserInfo
*
)
user_info
forContact:
(
AIListContact
*
)
contact
;
-
(
void
)
updateUserInfo:
(
AIListContact
*
)
theContact
withData:
(
PurpleNotifyUserInfo
*
)
user_info
;
-
(
void
)
openInspectorForContactInfo:
(
AIListContact
*
)
theContact
;
#pragma mark Chats
-
(
void
)
errorForChat:
(
AIChat
*
)
chat
type:
(
NSNumber
*
)
type
;
-
(
void
)
removeUsersArray:
(
NSArray
*
)
usersArray
fromChat:
(
AIChat
*
)
chat
;
-
(
void
)
updateTopic:
(
NSString
*
)
inTopic
forChat:
(
AIChat
*
)
chat
withSource:
(
NSString
*
)
source
;
-
(
void
)
updateTitle:
(
NSString
*
)
inTitle
forChat:
(
AIChat
*
)
chat
;
-
(
void
)
convUpdateForChat:
(
AIChat
*
)
chat
type:
(
NSNumber
*
)
type
;
-
(
void
)
renameParticipant:
(
NSString
*
)
oldUID
newName:
(
NSString
*
)
newUID
newAlias:
(
NSString
*
)
newAlias
flags:
(
PurpleConvChatBuddyFlags
)
flags
inChat:
(
AIChat
*
)
chat
;
-
(
void
)
removeUser:
(
NSString
*
)
contactName
fromChat:
(
AIChat
*
)
chat
;
-
(
void
)
updateUserListForChat:
(
AIChat
*
)
chat
users:
(
NSArray
*
)
users
newlyAdded:
(
BOOL
)
newlyAdded
;
-
(
void
)
updateUser:
(
NSString
*
)
user
forChat:
(
AIChat
*
)
chat
flags:
(
PurpleConvChatBuddyFlags
)
flags
alias:
(
NSString
*
)
alias
attributes:
(
NSDictionary
*
)
attributes
;
-
(
NSDictionary
*
)
willJoinChatUsingDictionary:
(
NSDictionary
*
)
chatCreationDictionary
;
-
(
BOOL
)
chatCreationDictionary:
(
NSDictionary
*
)
chatCreationDict
isEqualToDictionary:
(
NSDictionary
*
)
baseDict
;
-
(
NSDictionary
*
)
extractChatCreationDictionaryFromConversation:
(
PurpleConversation
*
)
conv
;
#pragma mark Privacy
-
(
void
)
privacyPermitListAdded:
(
NSString
*
)
sourceUID
;
-
(
void
)
privacyDenyListAdded:
(
NSString
*
)
sourceUID
;
-
(
void
)
privacyPermitListRemoved:
(
NSString
*
)
sourceUID
;
-
(
void
)
privacyDenyListRemoved:
(
NSString
*
)
sourceUID
;
#pragma mark Emoticons
-
(
void
)
chat:
(
AIChat
*
)
inChat
isWaitingOnCustomEmoticon:
(
NSString
*
)
isWaiting
;
-
(
void
)
chat:
(
AIChat
*
)
inChat
setCustomEmoticon:
(
NSString
*
)
emoticonEquivalent
withImageData:
(
NSData
*
)
inImageData
;
-
(
void
)
chat:
(
AIChat
*
)
inChat
closedCustomEmoticon:
(
NSString
*
)
inEmoticon
;
@end
@interface
CBPurpleAccount
(ForSubclasses)
-
(
void
)
continueConnectWithConfiguredPurpleAccount
;
-
(
void
)
continueConnectWithConfiguredProxy
;
@end