AtClientImpl class

Implementation of AtClient interface

Implemented types

Constructors

AtClientImpl(String _atSign, String namespace, AtClientPreference preference)

Properties

currentAtSign String
read / write
encryptionService → EncryptionService
read-only
hashCode int
The hash code for this object. [...]
read-only, inherited
logger AtSignLogger
read / write
preference AtClientPreference
read-only
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

delete(AtKey atKey) Future<bool>
Delete the key from user's local secondary and syncs the delete to cloud secondary if client's sync preference is immediate. By default namespace that is used to create the AtClient instance will be appended to the key. phone@alice translates to phone.persona@alice where 'persona' is the namespace. If you want to ignoring the namespace set AtKey.metadata.namespaceAware to false. [...]
override
encryptUnEncryptedData() Future<void>
get(AtKey atKey) Future<AtValue>
Get the value of AtKey.key from user's cloud secondary if AtKey.sharedBy is set. Otherwise looks up the key from local secondary. If the key was stored with public access, set AtKey.metadata.isPublic to true. If the key was shared with another atSign set AtKey.sharedWith [...]
override
getAtKeys({String regex, String sharedBy, String sharedWith}) Future<List<AtKey>>
Get all the keys stored in user's secondary in AtKey format. If regex is specified only matching keys are returned. If sharedBy is specified, then gets the keys from sharedBy user shared with current atClient user. If sharedWith is specified, then gets the keys shared to sharedWith user from the current atClient user. [...]
override
getKeys({String regex, String sharedBy, String sharedWith}) Future<List<String>>
Get all the keys stored in user's secondary in string format. If regex is specified only matching keys are returned. If sharedBy is specified, then gets the keys from sharedBy user shared with current atClient user. If sharedWith is specified, then gets the keys shared to sharedWith user from the current atClient user. [...]
override
getLocalSecondary() LocalSecondary
override
getMeta(AtKey atKey) Future<Metadata>
Gets the metadata of AtKey.key [...]
override
getOperation(dynamic value, Metadata data) String
getPrivateKey(String atSign) Future<String>
getRemoteSecondary() RemoteSecondary
Returns a singleton instance of RemoteSecondary to communicate with user's secondary server.
override
getSecondary() → Secondary
getSyncManager() → SyncManager
Returns a singleton instance of SyncManager that is responsible for syncing data between local secondary server and remote secondary server.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
notify(AtKey atKey, String value, OperationEnum operation, {MessageTypeEnum messageType, PriorityEnum priority, StrategyEnum strategy, int latestN, String notifier = SYSTEM}) Future<bool>
Notifies the AtKey with the sharedWith user of the atsign. Optionally, operation, value and metadata can be set along with key to notify. [...]
override
notifyAll(AtKey atKey, String value, OperationEnum operation) Future<String>
Notifies the AtKey with the list of sharedWith user's of the atsign. Optionally, operation, value and metadata can be set along with the key to notify. [...]
override
notifyList({String fromDate, String toDate, String regex}) Future<String>
Returns the list of received notifications of an atsign, Optionally, notifications can be filtered on from date, to date and regular expression [...]
override
notifyStatus(String notificationId) Future<String>
Returns the status of the notification [...]
override
persistPrivateKey(String privateKey) Future<bool>
persistPublicKey(String publicKey) Future<bool>
put(AtKey atKey, dynamic value) Future<bool>
Updates value of AtKey.key is if it is already present. Otherwise creates a new key. Set AtKey.sharedWith if the key has to be shared with another atSign. Set AtKey.metadata.isBinary if you are updating binary value e.g image,file. By default namespace that is used to create the AtClient instance will be appended to the key. phone@alice will be saved as phone.persona@alice where 'persona' is the namespace. If you want to save by ignoring the namespace set AtKey.metadata.namespaceAware to false. Additional metadata can be set using AtKey.metadata [...]
override
putMeta(AtKey atKey) Future<bool>
Updates the metadata of AtKey.key if it is already present. Otherwise creates a new key without a value. By default namespace that is used to create the AtClient instance will be appended to the key. phone@alice will be saved as phone.persona@alice where 'persona' is the namespace. If you want to save by ignoring the namespace set AtKey.metadata.namespaceAware to false. [...]
override
sendStreamAck(String streamId, String fileName, int fileLength, String senderAtSign, Function streamCompletionCallBack, Function streamReceiveCallBack) Future<void>
setPreferences(AtClientPreference preference) → void
Sets the preferences such as sync strategy, storage path etc., for the client.
override
startMonitor(String privateKey, Function notificationCallback, {String regex}) → void
Creates a monitor connection to atSign's cloud secondary server.Whenever a notification is created on the server, monitor receives the notification on the client. Optionally a regular expression and be passed to filter the notifications
override
stream(String sharedWith, String filePath, {String namespace}) Future<AtStreamResponse>
toString() String
A string representation of this object. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited

Static Methods

createClient(String currentAtSign, String namespace, AtClientPreference preferences) → void
getClient(String currentAtSign) Future<AtClient>
Returns a new instance of AtClient. App has to pass the current user atSign and the client preference.