AtClientImpl class
Implementation of AtClient interface and AtSignChangeListener
interface
Implements to AtSignChangeListener
to get notified on switch atSign event. On switch atSign event,
pause's the compaction job on currentAtSign and start/resume the compaction job on the new atSign
- Implemented types
Properties
- atChops ↔ AtChops?
-
Set an instance of
AtChops
for data encryption and signing operationsgetter/setter pairoverride - atClientCommitLogCompaction → AtClientCommitLogCompaction?
-
no setter
- encryptionService → EncryptionService?
-
no setteroverride
- enrollmentId ↔ String?
-
getter/setter pairoverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- notificationService ↔ NotificationService
-
getter/setter pairoverride
- preference → AtClientPreference?
-
no setter
- putRequestTransformer ↔ PutRequestTransformer
-
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- syncService ↔ SyncService
-
getter/setter pairoverride
- telemetry ↔ AtTelemetryService?
-
getter/setter pairoverride
Methods
-
delete(
AtKey atKey, {bool isDedicated = false, DeleteRequestOptions? deleteRequestOptions}) → 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 setAtKey.metadata.namespaceAware
to false.override -
downloadFile(
String transferId, String? downloadPath}) → Future< List< File> > -
Downloads the list of files for a given
transferId
shared bysharedByAtSign
Optionally you can passdownloadPath
to download the files.override -
ensureLowerCase(
AtKey atKey) → dynamic -
fetchEnrollmentRequests(
EnrollListRequestParam enrollmentListRequestParams) → Future< List< EnrollmentRequest> > -
Fetches all enrollment requests from the corresponding atServer; Formats the requests into a
List<
EnrollmentResponse
>override -
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.sharedWithoverride -
getAtKeys(
{String? regex, bool showHiddenKeys = 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. IfsharedBy
is specified, then gets the keys fromsharedBy
user shared with current atClient user. IfsharedWith
is specified, then gets the keys shared tosharedWith
user from the current atClient user.override -
getCurrentAtSign(
) → String? -
Note - this method name is misleading as 'current' implies the atSign
could change - but an AtClient should only ever have one atSign.
override
-
getKeys(
{String? regex, bool showHiddenKeys = 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. IfsharedBy
is specified, then gets the keys fromsharedBy
user shared with current atClient user. IfsharedWith
is specified, then gets the keys shared tosharedWith
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 RemoteSecondary to communicate with user's cloud 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 AtClient.syncServiceoverride -
listenToAtSignChange(
SwitchAtSignEvent switchAtSignEvent) → void -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notify(
AtKey atKey, String value, OperationEnum operation, {MessageTypeEnum? messageType, PriorityEnum? priority, StrategyEnum? strategy, int? latestN, String? notifier = AtConstants.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.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?> -
Deprecated Use NotificationService.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, PutRequestOptions? putRequestOptions}) → 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 setAtKey.metadata.namespaceAware
to false. Additional metadata can be set using AtKey.metadataoverride -
putBinary(
AtKey atKey, List< int> value, {PutRequestOptions? putRequestOptions}) → 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, {PutRequestOptions? putRequestOptions}) → 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 ofFileStatus
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
-
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> -
Deprecated Use AtClient.notificationService
override
-
stream(
String filePath, {String? namespace}) → Future< AtStreamResponse> -
Streams the file in
filePath
tosharedWith
atSign.override -
toString(
) → String -
A string representation of this object.
inherited
-
uploadFile(
List< File> files, ) → Future<Map< String, FileTransferObject> > -
Uploads list of
files
to filebin and shares the file download url withsharedWithAtSigns
returns map containing key of each sharedWithAtSign and value ofFileTransferObject
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- atClientInstanceMap → Map
-
final
- upperCaseRegex → RegExp
-
final
Static Methods
-
create(
String currentAtSign, String? namespace, AtClientPreference preferences, {AtClientManager? atClientManager, RemoteSecondary? remoteSecondary, EncryptionService? encryptionService, SecondaryKeyStore? localSecondaryKeyStore, AtChops? atChops, AtClientCommitLogCompaction? atClientCommitLogCompaction, AtClientConfig? atClientConfig}) → Future< AtClient>