Ditto 1.1.9
Classes | Enumerations
DittoSDK Namespace Reference

Classes

class  AwdlConfig
 Configuration for Apple Wireless Direct Link (AWDL) network transport. Not supported on all platforms. More...
 
class  BluetoothLEConfig
 Configuration for Bluetooth Low Energy network transport. Not supported on all platforms (yet). More...
 
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
 
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  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  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 ID 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  DittoException
 An exception that is thrown when Ditto encounters an error. More...
 
class  DittoExperimental
 Upcoming SDK features made available for prototyping. More...
 
class  DittoGlobal
 Configuration for all network transports. More...
 
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...
 
struct  DittoIdentity
 Used to identify a given peer in your network. In practice a peer may be a user, a device, or it might be some other entity in your system. More...
 
class  DittoLanConfig
 Configuration for local LAN Wi-Fi network transport. More...
 
class  DittoListen
 Configuration for network transports used to allow incoming connections from other Ditto peers. More...
 
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  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  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  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  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  DittoTransportConfig
 Configuration object specifying which network transports Ditto should use to sync data. More...
 
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  ErrorHelpers
 
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  NoOpAuthenticationDelegate
 
class  PathComponentHelpers
 
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
 

Enumerations

enum  DittoIdentityType {
  Development , OfflinePlayground , Online , OnlineWithAuthentication ,
  OnlinePlayground , OnlinePlaygroundV2 , SharedKey , Manual
}
 The identity types you can use with Ditto. More...
 
enum  DittoLogLevel {
  Error = 1 , Warning = 2 , Info = 3 , Debug = 4 ,
  Verbose = 5
}
 The different log levels that Ditto supports.
 
enum  DittoSortDirection { Ascending = 1 , Descending = 2 }
 Describes the lexicographic or numeric sorting direction for a query. More...
 
enum  DittoWriteStrategy { Merge = 1 , Overwrite = 2 , InsertIfAbsent = 3 , InsertDefaultIfAbsent = 4 }
 Defines the various strategies available when inserting a document into a collection. More...
 

Enumeration Type Documentation

◆ DittoIdentityType

The identity types you can use with Ditto.

  • Development: (Deprecated - use OfflinePlayground instead) Develop peer-to-peer apps with no cloud connection. This mode offers no security and must only be used for development.
  • OfflinePlayground: Develop peer-to-peer apps with no cloud connection. This mode offers no security and must only be used for development.
  • Online: (Deprecated - use OnlineWithAuthentication instead) Run Ditto in secure production mode, logging on to Ditto Cloud or on on-premises authentication server. User permissions are centrally managed.
  • OnlineWithAuthentication: Run Ditto in secure production mode, logging on to Ditto Cloud or on on-premises authentication server.User permissions are centrally managed.
  • OnlinePlayground: Test a Ditto Cloud app without authentication ("Playground mode"). This mode offers no security and must only be used for development.
  • SharedKey: A mode where any device is trusted provided they know the secret key.This is a simplistic authentication model normally only suitable for private apps where users and devices are both trusted.
  • Manual: A manually-provided certificate identity.This accepts a base64-encoded bundle.

◆ 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.

Overwrite 

An existing document will be overwritten. This can be thought of as first removing the existing document completely and then inserting the new document in its place, if there is a pre-existing document.

InsertIfAbsent 

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