forked from cwtch.im/cwtch
91 lines
2.5 KiB
Go
91 lines
2.5 KiB
Go
package event
|
|
|
|
// Type captures the definition of many common Cwtch application events
|
|
type Type string
|
|
|
|
// Defining Common Event Types
|
|
const (
|
|
StatusRequest = Type("StatusRequest")
|
|
ProtocolEngineStatus = Type("ProtocolEngineStatus")
|
|
|
|
PeerRequest = Type("PeerRequest")
|
|
BlockPeer = Type("BlockPeer")
|
|
JoinServer = Type("JoinServer")
|
|
|
|
ProtocolEngineStartListen = Type("ProtocolEngineStartListen")
|
|
ProtocolEngineStopped = Type("ProtocolEngineStopped")
|
|
|
|
InvitePeerToGroup = Type("InvitePeerToGroup")
|
|
NewGroupInvite = Type("NewGroupInvite")
|
|
|
|
SendMessageToGroup = Type("SendMessagetoGroup")
|
|
EncryptedGroupMessage = Type("EncryptedGroupMessage")
|
|
NewMessageFromGroup = Type("NewMessageFromGroup")
|
|
|
|
SendMessageToPeer = Type("SendMessageToPeer")
|
|
NewMessageFromPeer = Type("NewMessageFromPeer")
|
|
|
|
// REQUESTS TO STORAGE ENGINE
|
|
|
|
// a peer contact has been added
|
|
// attributes:
|
|
// RemotePeer [eg ""]
|
|
PeerCreated = Type("PeerCreated")
|
|
|
|
// a group has been successfully added or newly created
|
|
// attributes:
|
|
// Data [serialized *model.Group]
|
|
GroupCreated = Type("GroupCreated")
|
|
|
|
// change the .Name attribute of a profile (careful - this is not a custom attribute. it is used in the underlying protocol during handshakes!)
|
|
// attributes:
|
|
// ProfileName [eg "erinn"]
|
|
SetProfileName = Type("SetProfileName")
|
|
|
|
// request to store a profile-wide attribute (good for e.g. per-profile settings like theme prefs)
|
|
// attributes:
|
|
// Key [eg "fontcolor"]
|
|
// Data [eg "red"]
|
|
SetAttribute = Type("SetAttribute")
|
|
|
|
// request to store a per-contact attribute (e.g. display names for a peer)
|
|
// attributes:
|
|
// RemotePeer [eg ""]
|
|
// Key [eg "nick"]
|
|
// Data [eg "erinn"]
|
|
SetPeerAttribute = Type("SetPeerAttribute")
|
|
|
|
// request to store a per-cwtch-group attribute (e.g. display name for a group)
|
|
// attributes:
|
|
// GroupID [eg ""]
|
|
// Key [eg "nick"]
|
|
// Data [eg "open privacy board"]
|
|
SetGroupAttribute = Type("SetGroupAttribute")
|
|
)
|
|
|
|
// Field defines common event attributes
|
|
type Field string
|
|
|
|
// Defining Common Field Types
|
|
const (
|
|
RemotePeer = Field("RemotePeer")
|
|
Ciphertext = Field("Ciphertext")
|
|
Signature = Field("Signature")
|
|
PreviousSignature = Field("PreviousSignature")
|
|
TimestampSent = Field("TimestampSent")
|
|
TimestampReceived = Field("TimestampReceived")
|
|
|
|
Identity = Field("Identity")
|
|
|
|
GroupID = Field("GroupID")
|
|
GroupServer = Field("GroupServer")
|
|
GroupInvite = Field("GroupInvite")
|
|
|
|
ProfileName = Field("ProfileName")
|
|
|
|
Key = Field("Key")
|
|
Data = Field("Data")
|
|
|
|
Error = Field("Error")
|
|
)
|