HyphenateSDK  3.1.4
Instance Methods | Properties | List of all members
EMConversation Class Reference

#import <EMConversation.h>

Inheritance diagram for EMConversation:

Instance Methods

(BOOL) - insertMessage:
 
(BOOL) - appendMessage:
 
(BOOL) - deleteMessageWithId:
 
(BOOL) - deleteAllMessages
 
(BOOL) - updateMessage:
 
(BOOL) - markMessageAsReadWithId:
 
(BOOL) - markAllMessagesAsRead
 
("setExt: will update extend properties to DB") - __deprecated_msg
 
(EMMessage *) - loadMessageWithId:
 
(NSArray *) - loadMoreMessagesFromId:limit:direction:
 
(NSArray *) - loadMoreMessagesWithType:before:limit:from:direction:
 
(NSArray *) - loadMoreMessagesContain:before:limit:from:direction:
 
(NSArray *) - loadMoreMessagesFrom:to:maxCount:
 
(EMMessage *) - latestMessageFromOthers
 

Properties

NSString * conversationId
 
EMConversationType type
 
int unreadMessagesCount
 
NSDictionary * ext
 
EMMessagelatestMessage
 

Detailed Description

Chat conversation

Method Documentation

- "setExt:

Update conversation extend properties to DB

Returns
Extend properties update result, YES: success, No: fail
- (BOOL) appendMessage: (EMMessage *)  aMessage

Insert a message to the tail of conversation, message's conversationId should equle to conversation's conversationId, message will be inserted to DB, and update conversation's property

Parameters
aMessageMessage
Returns
Message insert result, YES: success, No: fail
- (BOOL) deleteAllMessages

Delete all message of the conversation

Returns
Delete result, YES: success, No: fail
- (BOOL) deleteMessageWithId: (NSString *)  aMessageId

Delete a message

Parameters
aMessageIdMessage's ID who will be deleted
Returns
Message delete result, YES: success, No: fail
- (BOOL) insertMessage: (EMMessage *)  aMessage

Insert a message to conversation, message's conversationId should equle to conversation's conversationId, message will be inserted to DB, and update conversation's property

Parameters
aMessageMessage
Returns
Message insert result, YES: success, No: fail
- (EMMessage *) latestMessageFromOthers

Get latest message that received from others

Returns
Message instance
- (EMMessage *) loadMessageWithId: (NSString *)  aMessageId

Get a message with the ID

Parameters
aMessageIdMessage's id
Returns
Message instance
- (NSArray *) loadMoreMessagesContain: (NSString *)  aKeywords
before: (long long)  aTimestamp
limit: (int)  aLimit
from: (NSString *)  aSender
direction: (EMMessageSearchDirection)  aDirection 

Get more messages contain specified keywords from DB, result messages are sorted by received time, if reference timestamp is negative, will fetch message from latest message, andd will fetch all messages that meet the condition if aLimit is negative

Parameters
aKeywordsSearch content, will ignore it if it's empty
aTimestampReference timestamp
aLimitCount of messages to load
aSenderMessage sender, will ignore it if it's empty
aDirectionMessage search direction
Returns
Message list<EMMessage>
- (NSArray *) loadMoreMessagesFrom: (long long)  aStartTimestamp
to: (long long)  aEndTimestamp
maxCount: (int)  aMaxCount 

Load messages from DB in duration, result messages are sorted by receive time, user should limit the max count to load to avoid memory issue

Parameters
aStartTimestampStart time's timestamp in miliseconds
aEndTimestampEnd time's timestamp in miliseconds
aMaxCountMessage search direction
Returns
Message list<EMMessage>
- (NSArray *) loadMoreMessagesFromId: (NSString *)  aMessageId
limit: (int)  aLimit
direction: (EMMessageSearchDirection)  aDirection 

Get more messages from DB, result messages are sorted by receive time, and NOT include the reference message, if reference messag's ID is nil, will fetch message from latest message

Parameters
aMessageIdReference message's ID
aLimitCount of messages to load
aDirectionMessage search direction
Returns
Message list<EMMessage>
- (NSArray *) loadMoreMessagesWithType: (EMMessageBodyType)  aType
before: (long long)  aTimestamp
limit: (int)  aLimit
from: (NSString *)  aSender
direction: (EMMessageSearchDirection)  aDirection 

Get more messages with specified type from DB, result messages are sorted by received time, if reference timestamp is negative, will fetch message from latest message, andd will fetch all messages that meet the condition if aLimit is negative

Parameters
aTypeMessage type to load
aTimestampReference timestamp
aLimitCount of messages to load
aSenderMessage sender, will ignore it if it's empty
aDirectionMessage search direction
Returns
Message list<EMMessage>
- (BOOL) markAllMessagesAsRead

Mark all message as read

Returns
Result of mark all message as read, YES: success, No: fail
- (BOOL) markMessageAsReadWithId: (NSString *)  aMessageId

Mark a message as read

Parameters
aMessageIdMessage's ID who will be set read status
Returns
Result of mark message as read, YES: success, No: fail
- (BOOL) updateMessage: (EMMessage *)  aMessage

Update a message, can't update message's messageId, conversation's latestMessage and so on properties will update after update the message

Parameters
aMessageMessage
Returns
Message update result, YES: success, No: fail

Property Documentation

- (NSString*) conversationId
readnonatomiccopy

Unique identifier of conversation

- (NSDictionary*) ext
readwritenonatomiccopy

Conversation extend property

- (EMMessage*) latestMessage
readnonatomicstrong

Conversation latest message

- (EMConversationType) type
readnonatomicassign

Conversation type

- (int) unreadMessagesCount
readnonatomicassign

Count of unread messages


The documentation for this class was generated from the following file: