Topic class
Properties
acs
↔ AccessMode
This topic's access mode
getter/setter pair
clear
↔ int ?
in case some messages were deleted, the greatest ID
of a deleted message, optional
getter/setter pair
created
↔ DateTime ?
Timestamp when the topic was created
getter/setter pair
defacs
↔ DefAcs ?
topic's default access permissions; present only if the current user has 'S' permission
getter/setter pair
hashCode
→ int
The hash code for this object.
no setter inherited
isSubscribed
↔ bool
getter/setter pair
lastDescUpdate
→ DateTime
no setter
lastSubsUpdate
→ DateTime ?
no setter
maxDel
→ int
no setter
maxSeq
→ int
no setter
messages
→ List <DataMessage >
Get all cached subscriptions for this topic
no setter
minSeq
→ int
no setter
name
↔ String ?
This topic's name
getter/setter pair
onAllMessagesReceived
↔ PublishSubject<int >
This event will be triggered when all messages are received
getter/setter pair
onData
↔ PublishSubject<DataMessage ? >
This event will be triggered when a data
message is received
getter/setter pair
onInfo
↔ PublishSubject<InfoMessage >
This event will be triggered when a meta.info
message is received
getter/setter pair
onMeta
↔ PublishSubject<MetaMessage >
This event will be triggered when a meta
message is received
getter/setter pair
onMetaDesc
↔ PublishSubject<Topic >
This event will be triggered when a meta.desc
message is received
getter/setter pair
onMetaSub
↔ PublishSubject<TopicSubscription >
This event will be triggered when a meta.sub
message is received
getter/setter pair
onPres
↔ PublishSubject<PresMessage >
This event will be triggered when a pres
message is received
getter/setter pair
onSubsUpdated
↔ PublishSubject<List <TopicSubscription > >
This event will be triggered when topic subscriptions are updated
getter/setter pair
onTagsUpdated
↔ PublishSubject<List <String > >
This event will be triggered when topic tags are updated
getter/setter pair
private
↔ dynamic
Application-defined data that's available to the current user only
getter/setter pair
public
↔ dynamic
Application-defined data that's available to all topic subscribers
getter/setter pair
read
↔ int ?
Id of the message user claims through {note} message to have read, optional
getter/setter pair
recv
↔ int ?
Like 'read', but received, optional
getter/setter pair
runtimeType
→ Type
A representation of the runtime type of the object.
no setter inherited
seq
↔ int ?
getter/setter pair
status
↔ String ?
account status; included for me
topic only, and only if
the request is sent by a root-authenticated session.
getter/setter pair
subscribers
→ Map <String , TopicSubscription >
Get all cached subscriptions for this topic
no setter
tags
↔ List <String >
User discovery tags
getter/setter pair
touched
↔ DateTime ?
Timestamp of the last messages
getter/setter pair
updated
↔ DateTime
Timestamp when the topic was last updated
getter/setter pair
Methods
allMessagesReceived (int count )
→ void
This should be called by Tinode
when all messages are received
archive (bool archive )
→ Future
Archive or un-archive the topic. Wrapper for Tinode.setMeta
createMessage (dynamic data , bool echo )
→ Message
Create a draft of a message without sending it to the server
deleteMessages (List <DelRange > ranges , bool hard )
→ Future <CtrlMessage >
Delete messages. Hard-deleting messages requires Owner permission
deleteMessagesAll (bool hard )
→ Future <CtrlMessage >
Delete all messages. Hard-deleting messages requires Owner permission
deleteMessagesList (List <int > list , bool hard )
→ Future <CtrlMessage >
Delete multiple messages defined by their IDs. Hard-deleting messages requires Owner permission
deleteSubscription (String userId )
→ Future <CtrlMessage >
Delete subscription. Requires Share permission. Wrapper for Tinode.deleteSubscription
deleteTopic (bool hard )
→ Future <CtrlMessage >
Delete topic. Requires Owner permission. Wrapper for Tinode.delTopic
flushMessage (int seqId )
→ DataMessage ?
flushMessageRange (int fromId , int untilId )
→ void
getAccessMode ()
→ AccessMode
Get topic's access node
getDefaultAccess ()
→ DefAcs ?
Get topic's default access mode
getMessagesPage (int limit , bool forward )
→ Future
Request more messages from the server
getMeta (GetQuery params )
→ Future
Request topic metadata from the serve
getTags ()
→ List <String >
Get topic's tags
getType ()
→ String ?
Get type of the topic: me, p2p, grp, fnd...
invite (String userId , String mode )
→ Future <CtrlMessage >
Create new topic subscription. Wrapper for Tinode.setMeta
isArchived ()
→ bool
Check if topic is archived, i.e. private.arch == true.
isChannel ()
→ bool
Check if topic is a channel
isGroup ()
→ bool
Check if topic is a group topic
isNewMessage (dynamic seqId )
→ bool
Check if the given seq Id is id of the most recent message
seqId id of the message to check
isP2P ()
→ bool
Check if topic is a p2p topic
leave (bool unsubscribe )
→ Future <CtrlMessage >
Leave the topic, optionally unsubscribe. Leaving the topic means the topic will stop
receiving updates from the server. Unsubscribing will terminate user's relationship with the topic.
msgHasMoreMessages (bool newer )
→ bool
Check if cached message IDs indicate that the server may have more messages.
newer check for newer messages
msgReadCount (int seq )
→ int
Get the number of topic subscribers who marked this message (and all older messages) as read.
The current user is excluded from the count
msgRecvCount (int seq )
→ int
Get the number of topic subscribers who marked this message (and all older messages) as read
The current user is excluded from the count
noSuchMethod (Invocation invocation )
→ dynamic
Invoked when a nonexistent method or property is accessed.
inherited
noteKeyPress ()
→ void
Send a key-press notification. Wrapper for Tinode.noteKeyPress
noteRead (int ? seq )
→ void
Send a 'read' receipt. Wrapper for Tinode.noteRead
noteReceive (int seq )
→ void
Send a 'recv' receipt. Wrapper for Tinode.noteRecv
p2pPeerDesc ()
→ TopicSubscription ?
Get description of the p2p peer from subscription cache
processDelMessages (int clear , List <DeleteTransactionRange > delseq )
→ void
Delete cached messages and update cached transaction IDs
processMetaCreds (List <Credential > cred , bool a )
→ void
processMetaDesc (TopicDescription desc )
→ void
Called by Tinode when meta.desc packet is received.
processMetaSub (List <TopicSubscription > subscriptions )
→ void
Called by Tinode
when meta.sub is received or in response to received
processMetaTags (List <String > tags )
→ void
Called by Tinode when meta.tags is received.
publishMessage (Message message )
→ Future <CtrlMessage ? >
Publish message created by Topic.createMessage.
resetSubscription ()
→ void
Reset subscribed state
routeData (DataMessage data )
→ void
Process data message
routeInfo (InfoMessage info )
→ void
routeMeta (MetaMessage meta )
→ void
Called by Tinode
routePres (PresMessage pres )
→ void
Process presence change message
setMeta (SetParams params )
→ Future <CtrlMessage >
Update topic metadata
startMetaQuery ()
→ MetaGetBuilder
Initialize new meta {@link Tinode.GetQuery} builder. The query is attached to the current topic.
It will not work correctly if used with a different topic
subscribe (GetQuery getParams , SetParams ? setParams )
→ Future <CtrlMessage >
subscriber (String userId )
→ TopicSubscription ?
Get cached subscription for the given user Id
toString ()
→ String
A string representation of this object.
inherited
updateMode (String ? userId , String update )
→ Future <CtrlMessage >
Update access mode of the current user or of another topic subscriber
userDescription (String userId )
→ TopicSubscription ?
Get user description from global cache. The user does not need to be a
subscriber of this topic.
tinode_community 1.0.0-alpha.5