AtClientImpl class Null safety

Implementation of AtClient interface

Implemented types

Constructors

AtClientImpl(String _atSign, String? namespace, AtClientPreference preference)

Properties

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

Methods

delete(AtKey atKey, {bool isDedicated = false}) 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. isDedicated need to be set to true to create a dedicated connection
override
downloadFile(String transferId, String sharedByAtSign, {String? downloadPath}) Future<List<File>>
Downloads the list of files for a given transferId shared by sharedByAtSign Optionally you can pass downloadPath to download the files.
override
encryptUnEncryptedData() Future<void>
@Deprecated("Use EncryptionService")
get(AtKey atKey, {bool isDedicated = false, GetRequestOptions? getRequestOptions}) 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, bool isDedicated = false}) 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
getCurrentAtSign() String?
override
getKeys({String? regex, String? sharedBy, String? sharedWith, bool showHiddenKeys = false, bool isDedicated = false}) 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, {bool isDedicated = false}) Future<Metadata?>
Gets the metadata of AtKey.key
override
getOperation(dynamic value, Metadata? data) String?
getPreferences() AtClientPreference?
override
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. Deprecated Use AtClientManager.syncService
@Deprecated("Use SyncManager.sync"), 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, bool isDedicated = false}) 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. isDedicated need to be set to true to create a dedicated connection
override
notifyAll(AtKey atKey, String value, OperationEnum operation, {bool isDedicated = false}) 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
notifyChange(NotificationParams notificationParams) Future<String?>
Notifies the NotificationParams.atKey to notificationParams.atKey.sharedWith user of the atSign. Optionally, operation, value and metadata can be set along with key to notify.
override
notifyList({String? fromDate, String? toDate, String? regex, bool isDedicated = false}) 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, {bool isDedicated = false}) 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 isDedicated need to be set to true to create a dedicated connection
override
putBinary(AtKey atKey, List<int> value) Future<AtResponse>
put's the binary data(e.g. images, files etc) into the keystore
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
putText(AtKey atKey, String value) Future<AtResponse>
put's the text data into the keystore
override
reuploadFiles(List<File> files, FileTransferObject fileTransferObject) Future<List<FileStatus>>
re uploads file in fileTransferObject.fileUrl returns list of FileStatus which contains upload status of each file.
override
sendStreamAck(String streamId, String fileName, int fileLength, String senderAtSign, Function streamCompletionCallBack, Function streamReceiveCallBack) Future<void>
Sends stream acknowledgement
override
setPreferences(AtClientPreference preference) → void
Sets the preferences such as sync strategy, storage path etc., for the client.
override
shareFiles(List<String> sharedWithAtSigns, String key, String fileUrl, String encryptionKey, List<FileStatus> fileStatus, {DateTime? date}) Future<Map<String, FileTransferObject>>
re sends file notifications to sharedWithAtSigns returns Map<String, FileTransferObject> which contains transfer status for each atsign.
override
startMonitor(String privateKey, Function? notificationCallback, {String? regex}) Future<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 deprecated Use NotificationService.subscribe
override
stream(String sharedWith, String filePath, {String? namespace}) Future<AtStreamResponse>
Streams the file in filePath to sharedWith atSign.
override
toString() String
A string representation of this object.
inherited
uploadFile(List<File> files, List<String> sharedWithAtSigns) Future<Map<String, FileTransferObject>>
Uploads list of files to filebin and shares the file download url with sharedWithAtSigns returns map containing key of each sharedWithAtSign and value of FileTransferObject
override

Operators

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

Static Methods

create(String currentAtSign, String? namespace, AtClientPreference preferences, {AtClientManager? atClientManager}) Future<AtClient>
createClient(String currentAtSign, String? namespace, AtClientPreference preferences) Future<void>
use create
@Deprecated("Use [create]")
getClient(String? currentAtSign) Future<AtClient?>
Returns a new instance of AtClient. App has to pass the current user atSign and the client preference.
@Deprecated("Use AtClientManger to get instance of atClient")