123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package textsecure;
- option java_package = "org.whispersystems.textsecure.internal.push";
- option java_outer_classname = "TextSecureProtos";
- message Envelope {
- enum Type {
- UNKNOWN = 0;
- CIPHERTEXT = 1;
- KEY_EXCHANGE = 2;
- PREKEY_BUNDLE = 3;
- RECEIPT = 5;
- }
- optional Type type = 1;
- optional string source = 2;
- optional uint32 sourceDevice = 7;
- optional string relay = 3;
- optional uint64 timestamp = 5;
- optional bytes legacyMessage = 6; // Contains an encrypted DataMessage
- optional bytes content = 8; // Contains an encrypted Content
- }
- message Content {
- optional DataMessage dataMessage = 1;
- optional SyncMessage syncMessage = 2;
- }
- message DataMessage {
- enum Flags {
- END_SESSION = 1;
- EXPIRATION_TIMER_UPDATE = 2;
- }
- optional string body = 1;
- repeated AttachmentPointer attachments = 2;
- optional GroupContext group = 3;
- optional uint32 flags = 4;
- optional uint32 expireTimer = 5;
- }
- message SyncMessage {
- message Sent {
- optional string destination = 1;
- optional uint64 timestamp = 2;
- optional DataMessage message = 3;
- optional uint64 expirationStartTimestamp = 4;
- }
- message Contacts {
- optional AttachmentPointer blob = 1;
- }
- message Groups {
- optional AttachmentPointer blob = 1;
- }
- message Blocked {
- repeated string numbers = 1;
- }
- message Request {
- enum Type {
- UNKNOWN = 0;
- CONTACTS = 1;
- GROUPS = 2;
- BLOCKED = 3;
- }
- optional Type type = 1;
- }
- message Read {
- optional string sender = 1;
- optional uint64 timestamp = 2;
- }
- optional Sent sent = 1;
- optional Contacts contacts = 2;
- optional Groups groups = 3;
- optional Request request = 4;
- repeated Read read = 5;
- optional Blocked blocked = 6;
- }
- message AttachmentPointer {
- optional fixed64 id = 1;
- optional string contentType = 2;
- optional bytes key = 3;
- }
- message GroupContext {
- enum Type {
- UNKNOWN = 0;
- UPDATE = 1;
- DELIVER = 2;
- QUIT = 3;
- }
- optional bytes id = 1;
- optional Type type = 2;
- optional string name = 3;
- repeated string members = 4;
- optional AttachmentPointer avatar = 5;
- }
- message Avatar {
- optional string contentType = 1;
- optional uint32 length = 2;
- }
- message GroupDetails {
- optional bytes id = 1;
- optional string name = 2;
- repeated string members = 3;
- optional Avatar avatar = 4;
- optional bool active = 5 [default = true];
- }
- message ContactDetails {
- optional string number = 1;
- optional string name = 2;
- optional Avatar avatar = 3;
- optional string color = 4;
- }
|