Documentation ¶
Index ¶
- Variables
- func WithCustomLogger(logger *zap.Logger) func(c *config) error
- func WithDatabaseFilePaths(encryptionLayerFilePath, transportLayerFilePath string) func(c *config) error
- func WithGenericDiscoveryTopicSupport() func(c *config) error
- func WithMessagesPersistenceEnabled() func(c *config) error
- func WithOnNewInstallationsHandler(h func([]*multidevice.Installation)) func(c *config) error
- func WithOnNewSharedSecret(h func([]*sharedsecret.Secret)) func(c *config) error
- func WithSendV1Messages() func(c *config) error
- type Chat
- type Messenger
- func (m *Messenger) AddMailserver(enode string) error
- func (m *Messenger) ConfirmMessagesProcessed(messageIDs [][]byte) error
- func (m *Messenger) DisableInstallation(id string) error
- func (m *Messenger) EnableInstallation(id string) error
- func (m *Messenger) Installations() ([]*multidevice.Installation, error)
- func (m *Messenger) Join(chat Chat) error
- func (m *Messenger) Leave(chat Chat) error
- func (m *Messenger) LoadFilters(chats []*filter.Chat) ([]*filter.Chat, error)
- func (m *Messenger) Mailservers() ([]string, error)
- func (m *Messenger) RemoveFilters(chats []*filter.Chat) error
- func (m *Messenger) RemoveMailserver(id string) error
- func (m *Messenger) Retrieve(ctx context.Context, chat Chat, c RetrieveConfig) (messages []*protocol.Message, err error)
- func (m *Messenger) RetrieveRawAll() (map[filter.Chat][]*whisper.Message, error)
- func (m *Messenger) RetrieveRawWithFilter(filterID string) ([]*whisper.Message, error)
- func (m *Messenger) SelectMailserver(id string) error
- func (m *Messenger) Send(ctx context.Context, chat Chat, data []byte) ([]byte, error)
- func (m *Messenger) SendRaw(ctx context.Context, chat Chat, data []byte) ([]byte, whisper.NewMessage, error)
- func (m *Messenger) SetInstallationMetadata(id string, data *multidevice.InstallationMetadata) error
- func (m *Messenger) Shutdown() (err error)
- type Option
- type RetrieveConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrChatIDEmpty = errors.New("chat ID is empty") ErrNotImplemented = errors.New("not implemented") )
View Source
var ( RetrieveLatest = RetrieveConfig{/* contains filtered or unexported fields */} RetrieveLastDay = RetrieveConfig{/* contains filtered or unexported fields */} )
View Source
var ( // ErrMsgAlreadyExist returned if msg already exist. ErrMsgAlreadyExist = errors.New("message with given ID already exist") )
Functions ¶
func WithCustomLogger ¶
func WithDatabaseFilePaths ¶ added in v0.1.0
func WithDatabaseFilePaths(encryptionLayerFilePath, transportLayerFilePath string) func(c *config) error
TODO: use this config fileds.
func WithGenericDiscoveryTopicSupport ¶
func WithGenericDiscoveryTopicSupport() func(c *config) error
func WithMessagesPersistenceEnabled ¶
func WithMessagesPersistenceEnabled() func(c *config) error
func WithOnNewInstallationsHandler ¶
func WithOnNewInstallationsHandler(h func([]*multidevice.Installation)) func(c *config) error
func WithOnNewSharedSecret ¶
func WithOnNewSharedSecret(h func([]*sharedsecret.Secret)) func(c *config) error
func WithSendV1Messages ¶
func WithSendV1Messages() func(c *config) error
Types ¶
type Messenger ¶
type Messenger struct {
// contains filtered or unexported fields
}
Messenger is a entity managing chats and messages. It acts as a bridge between the application and encryption layers. It needs to expose an interface to manage installations because installations are managed by the user. Similarly, it needs to expose an interface to manage mailservers because they can also be managed by the user.
func NewMessenger ¶
func (*Messenger) AddMailserver ¶
NOT IMPLEMENTED
func (*Messenger) ConfirmMessagesProcessed ¶
DEPRECATED
func (*Messenger) DisableInstallation ¶
func (*Messenger) EnableInstallation ¶
func (*Messenger) Installations ¶
func (m *Messenger) Installations() ([]*multidevice.Installation, error)
func (*Messenger) LoadFilters ¶
DEPRECATED
func (*Messenger) RemoveFilters ¶
DEPRECATED
func (*Messenger) RemoveMailserver ¶
NOT IMPLEMENTED
func (*Messenger) RetrieveRawAll ¶
DEPRECATED
func (*Messenger) RetrieveRawWithFilter ¶ added in v0.1.0
DEPRECATED
func (*Messenger) SelectMailserver ¶
NOT IMPLEMENTED
func (*Messenger) SendRaw ¶
func (m *Messenger) SendRaw(ctx context.Context, chat Chat, data []byte) ([]byte, whisper.NewMessage, error)
SendRaw takes encoded data, encrypts it and sends through the wire. DEPRECATED
func (*Messenger) SetInstallationMetadata ¶
func (m *Messenger) SetInstallationMetadata(id string, data *multidevice.InstallationMetadata) error
Click to show internal directories.
Click to hide internal directories.