Ditto 4.7.0
Loading...
Searching...
No Matches
Classes | Enumerations
DittoSDK Namespace Reference

Classes

class  AwdlConfig
 Configuration for Apple Wireless Direct Link (AWDL) network transport. Not supported on all platforms. More...
 
class  AwdlConfigCBORConverter
 
class  BluetoothLEConfig
 Configuration for Bluetooth Low Energy network transport. Not supported on all platforms (yet). More...
 
class  BluetoothLEConfigCBORConverter
 
struct  BusMessage
 
class  CBORHelpers
 
class  Ditto
 The entrypoint to the Ditto SDK. More...
 
class  DittoAttachment
 A reference to a binary attachment file. More...
 
class  DittoAttachmentFetcher
 These objects are returned by calls to DittoCollection.FetchAttachment(DittoAttachmentToken, Action<DittoAttachmentFetchEvent>). More...
 
class  DittoAttachmentFetcherCtx
 
class  DittoAttachmentFetchEvent
 A representation of the events that can occur in relation to an attachment fetch. More...
 
class  DittoAttachmentToken
 Serves as a token for a specific attachment that you can pass to a call to DittoCollection.FetchAttachment(DittoAttachmentToken, Action<DittoAttachmentFetchEvent>). More...
 
class  DittoAuthenticationRequestEventArgs
 Data passed to the Ditto.DittoIdentityProviderAuthenticationRequest event handler when a peer wishes to use the current device as an authentication server. More...
 
struct  DittoAuthenticationStatus
 Provides info about the authentication status. More...
 
class  DittoAuthenticationStatusObserver
 Observer implementation that invokes an Action callback each time an event is fired.
 
class  DittoAuthenticationStatusObserverManager
 Manages observers that Subscribe to DittoAuthenticationStatus updates.
 
class  DittoAuthenticationSuccess
 Defines the properties and permissions of a user who has authenticated successfully and will be able to participate in the Ditto mesh. More...
 
class  DittoAuthenticator
 Provides access to authentication information and methods for logging on to Ditto Cloud. Relevant when using an OnlineWithAuthentication or an Online identity. More...
 
class  DittoBase64PaddingModeExtensions
 
class  DittoBus
 Send and receive messages with remote Ditto peers in the mesh. More...
 
class  DittoBusCtx
 
class  DittoCollection
 A reference to a collection in a DittoStore. More...
 
class  DittoCollectionsEvent
 Provides information about the changes that have occurred in relation to an event delivered when observing the collections in a DittoStore. It contains information about the collections that are known about as well as the collections that were previously known about in the previous event, along with information about what collections have been inserted, deleted, updated, or moved since the last event. More...
 
class  DittoConnect
 Configuration for network transports used to connect with Ditto big peers. More...
 
class  DittoConnectCBORConverter
 
class  DittoConnectConverter
 
class  DittoConnectionRequest
 Contains information about a remote peer that has requested a connection. More...
 
class  DittoConnectionRequestAuthorizationExtensions
 
class  DittoCounterCBORConverter
 
class  DittoDocument
 A document in a DittoCollection. More...
 
class  DittoDocumentId
 An identifier for a DittoDocument More...
 
class  DittoDocumentIdCBORConverter
 
class  DittoDocumentIdPath
 Provides an interface to specify a path to a key in a document identifier that you can then call a function on to get the value at the specified key as a specific type. More...
 
class  DittoDocumentPath
 Provides an interface to specify a path to a key in a document that you can then call a function on to get the value at the specified key as a specific type. More...
 
class  DittoError
 Used to represent all Ditto-related errors that aren't thrown as exceptions. More...
 
class  DittoExperimental
 Upcoming SDK features made available for prototyping. More...
 
class  DittoGlobal
 Configuration for all network transports. More...
 
class  DittoGlobalCBORConverter
 
class  DittoHandleWrapper
 Provides a GC object to hold the Rust pointer so disposes can be out of order Same pattern as in C++, Cocoa and (most recently) Android.
 
class  DittoHttpListenConfig
 Configuration for less common data sync scenarios. Please read the documentation on the Ditto website for examples. Incorrect use of Listen can result in insecure configurations. More...
 
class  DittoHttpListenConfigCBORConverter
 
class  DittoLanConfig
 Configuration for local LAN Wi-Fi network transport. More...
 
class  DittoLanConfigCBORConverter
 
class  DittoListen
 Configuration for network transports used to allow incoming connections from other Ditto peers. More...
 
class  DittoListenCBORConverter
 
class  DittoLiveQuery
 A reference to a Live Query. The live query will respond to any changes relevant to the query that occur in the device's data store. Do not instantiate this by itself. The live query will keep the handler informed of all changes so long as it is not garbage collected or disposed. More...
 
class  DittoLiveQueryCtx
 The meat of the LiveQuery logic / object. This object is the one that handles callbacks from Rust.
 
class  DittoLiveQueryEvent
 Describes events delivered by a DittoLiveQuery. More...
 
class  DittoLiveQueryMove
 An object that describes how a document's position in a live query's list of matching documents has changed since the previous live query event. More...
 
class  DittoLogger
 Class with static methods to customize the logging behavior from Ditto.
 
class  DittoLogLevelHelper
 
class  DittoMutableDocument
 A special reference to a DittoDocument that can be used to perform mutation on a document. Do not instantiate directly. This reference should never leave the scope of the lambda provided as part of a call to DittoPendingCursorOperation.Update(Action<List<DittoMutableDocument>>) or DittoPendingIdSpecificOperation.Update(Action<DittoMutableDocument>) and should not be used across different threads. More...
 
class  DittoMutableDocumentPath
 Provides an interface to specify a path to a key in a document that you can then call various update functions on. You obtain a DittoMutableDocumentPath by subscripting a DittoMutableDocument and you can then further subscript a DittoMutableDocumentPath to further specify the key of the document that you want to update. More...
 
class  DittoPeerToPeer
 Configuration for network transport used to connect with other Ditto small peers. Some transports are not supported on all platforms. More...
 
class  DittoPeerToPeerCBORConverter
 
class  DittoPendingCollectionsOperation
 These objects are returned when calling Collections() on DittoStore. More...
 
class  DittoPendingCursorOperation
 These objects are returned when using find-like functionality on DittoCollection objects. More...
 
class  DittoPendingIdSpecificOperation
 These objects are returned when using DittoCollection.FindById(string) functionality. More...
 
class  DittoQueryResult
 Represents the result of executing a DQL query. More...
 
class  DittoQueryResultItem
 Represents a single match of a DQL query, similar to a "row" in SQL terms. It's a reference type serving as a "cursor", allowing for efficient access of the underlying data in various formats. More...
 
class  DittoRegisterCBORConverter
 
class  DittoScopedWriteTransaction
 Exposes functionality that allows you to perform multiple operations on the store within a single write transaction. More...
 
class  DittoSingleDocumentLiveQueryEvent
 Provides information about a live query event relating to a single document live query. More...
 
class  DittoSmallPeerInfo
 The entrypoint for small peer user info collection. More...
 
class  DittoStore
 A class encompassing functionality relating to the embedded storage. This is not a class you instantiate directly. Instead you access DittoStore objects using Ditto.Store. More...
 
class  DittoStoreObserver
 A store observer invokes an observation handler whenever results for its query change. More...
 
class  DittoStoreObserverCtx
 
class  DittoSubscription
 A reference to a subscription to data with other remote peers. You do not instantiate DittoSubscription objects directly. Instead they are created by calling DittoPendingCursorOperation.Subscribe or DittoPendingIdSpecificOperation.Subscribe. More...
 
class  DittoTcpListenConfig
 Configuration for less common data sync scenarios. Please read the documentation on the Ditto website for examples. Incorrect use of Listen can result in insecure configurations. More...
 
class  DittoTcpListenConfigCBORConverter
 
class  DittoTransportConfig
 Configuration object specifying which network transports Ditto should use to sync data. More...
 
class  DittoTransportConfigCBORConverter
 
class  DittoUpdateResult
 Provides information about a successful update operation on a document. More...
 
class  DittoWriteStrategyExtensions
 
class  DittoWriteTransaction
 Exposes functionality that allows you to perform multiple operations on the store within a single write transaction. More...
 
class  DittoWriteTransactionPendingCursorOperation
 These objects are returned when using DittoScopedWriteTransaction.Find(string), DittoScopedWriteTransaction.Find(string, Dictionary<string, object>), or DittoScopedWriteTransaction.FindAll. More...
 
class  DittoWriteTransactionPendingIdSpecificOperation
 These objects are returned when using DittoScopedWriteTransaction.FindById(string) functionality. More...
 
class  DittoWriteTransactionResult
 Provides information about the result of an operation on a document that was part of a write transaction. More...
 
class  DocumentHandleWrapper
 
class  DocumentHelpers
 
class  DocumentOperator
 
class  DocumentPath
 
class  DocumentPathSanitizer
 
class  EquatableWeakReference
 Alternate implementation of WeakReference that implements IEquatable.
 
class  FfiHelpers
 
class  HostSystem
 Helper class for determining the platform and capabilities of the current system.
 
class  IdentityProvider
 
class  IdentityProviderCtx
 
interface  IDittoAuthenticationDelegate
 Provides feedback to the developer about Ditto authentication status. More...
 
interface  IDittoObserver
 An observation token returned by any observation API in the Ditto SDK. More...
 
class  LogHelpers
 
class  LoginProvider
 
class  LoginProviderCtx
 
class  NonDropDocumentHandleWrapper
 
class  QueryOperator
 
class  RCHandle
 Store an IDisposable object in a reference-counted wrapper, in a way that can be shared over FFI.
 
class  SortDirectionHelper
 
class  Sync
 
class  SyncParameters
 
class  SyncState
 Container for state of transports and sync. This type is necessary since the total set of data we need to make all decisions about starting/stopping transports is greater than what's contained in DittoTransportConfig.
 
class  SyncStateFactory
 
class  TransportStatusListener
 Analogous to _DITStatus (ObjC).
 
class  TransportStatusListenerCtx
 
class  ValidityListener
 
class  ValidityListenerCtx
 
class  ValueAtPath
 
class  WeakList
 IList implementation that holds weak references to the items.
 
class  WeakReferenceExtensions
 A collection of extension methods for working with weak references (a weak reference does not prevent an object from being garbage collected)
 
class  WifiAwareConfig
 Configuration for Wi-Fi Aware network transport. Not supported on all platforms. More...
 
class  WifiAwareConfigCBORConverter
 

Enumerations

enum  DittoConnectionRequestAuthorization { Allow , Deny }
 Indicates whether a connection request should be authorized. More...
 
enum  DittoLogLevel {
  Error = 1 , Warning = 2 , Info = 3 , Debug = 4 ,
  Verbose = 5
}
 The different log levels that Ditto supports.
 
enum  DittoSmallPeerInfoSyncScope { BigPeerOnly , LocalPeerOnly }
 Specifies which peers to replicate the small peer info to. More...
 
enum  DittoSortDirection { Ascending = 1 , Descending = 2 }
 Describes the lexicographic or numeric sorting direction for a query. More...
 
enum  DittoWriteStrategy { Merge = 1 , InsertIfAbsent = 2 , InsertDefaultIfAbsent = 3 , UpdateDifferentValues }
 Defines the various strategies available when inserting a document into a collection. More...
 

Enumeration Type Documentation

◆ DittoConnectionRequestAuthorization

Indicates whether a connection request should be authorized.

Enumerator
Allow 

The connection request will be allowed.

Deny 

The connection request will be denied.

◆ DittoSmallPeerInfoSyncScope

Specifies which peers to replicate the small peer info to.

By default, the small peer info is replicated only to the big peer. This behavior can be customized to better match a specific application.

◆ DittoSortDirection

Describes the lexicographic or numeric sorting direction for a query.

Enumerator
Ascending 

Informs the query to return values sorted in a lexicographic or numeric ascending order.

Descending 

Informs the query to return values sorted in a lexicographic or numeric descending order.

◆ DittoWriteStrategy

Defines the various strategies available when inserting a document into a collection.

Enumerator
Merge 

An existing document will be merged with the document being inserted, if there is a pre-existing document.

InsertIfAbsent 

Insert the document only if there is not already a document with the same identifier in the store. If there is already a document in the store with the same identifier then this will be a no-op.

InsertDefaultIfAbsent 

Insert the document, with its contents treated as default data, only if there is not already a document with the same identifier in the store. If there is already a document in the store with the same identifier then this will be a no-op. Use this strategy if you want to insert default data for a given document identifier, which you want to treat as common initial data amongst all peers and that you expect to be mutated or overwritten in due course.

UpdateDifferentValues 

The existing document will be updated based on the document being inserted. If there is a pre-existing document in the local store with the same ID, compare its value to the current value of the document. Update any differing register and attachment leaf values in the document to match the given value. Nothing is removed. This is equivalent to using an if statement to check each value in the provided payload against the local document value. <warning> In cases of concurrent writes, non-differing values will be overridden by peers because this write strategy excludes values from the given payload that are identical to those in the local store. </warning>