LiteCore
Couchbase Lite cross-platform core implementation
|
Data Structures | |
struct | C4Address |
A simple parsed-URL type. More... | |
struct | C4Progress |
Represents the current progress of a replicator. More... | |
struct | C4ReplicatorStatus |
Current status of replication. More... | |
struct | C4DocumentEnded |
Information about a document that's been pushed or pulled. More... | |
struct | C4ReplicationCollection |
struct | C4ReplicatorParameters |
Parameters describing a replication, used when creating a C4Replicator. More... | |
Macros | |
#define | kC4Replicator2Scheme C4STR("ws") |
#define | kC4Replicator2TLSScheme C4STR("wss") |
#define | kC4ReplicatorOptionDocIDs "docIDs" |
Docs to replicate (string[]) | |
#define | kC4ReplicatorOptionChannels "channels" |
SG channel names (string[]) | |
#define | kC4ReplicatorOptionFilter "filter" |
Pull filter name (string) | |
#define | kC4ReplicatorOptionFilterParams "filterParams" |
Pull filter params (Dict[string]) | |
#define | kC4ReplicatorOptionSkipDeleted "skipDeleted" |
Don't push/pull tombstones (bool) | |
#define | kC4ReplicatorOptionNoIncomingConflicts "noIncomingConflicts" |
Reject incoming conflicts (bool) | |
#define | kC4ReplicatorCheckpointInterval "checkpointInterval" |
How often to checkpoint, in seconds (number) | |
#define | kC4ReplicatorOptionRemoteDBUniqueID "remoteDBUniqueID" |
Stable ID for remote db with unstable URL (string) | |
#define | kC4ReplicatorOptionDisableDeltas "noDeltas" |
Disables delta sync (bool) | |
#define | kC4ReplicatorOptionDisablePropertyDecryption "noDecryption" |
Disables property decryption (bool) | |
#define | kC4ReplicatorOptionMaxRetries "maxRetries" |
Max number of retry attempts (int) | |
#define | kC4ReplicatorOptionMaxRetryInterval "maxRetryInterval" |
Max delay betw retries (secs) | |
#define | kC4ReplicatorOptionAutoPurge "autoPurge" |
Enables auto purge; default is true (bool) | |
#define | kC4ReplicatorOptionAcceptParentDomainCookies "acceptParentDomainCookies" |
#define | kC4ReplicatorOptionRootCerts "rootCerts" |
Trusted root certs (data) | |
#define | kC4ReplicatorOptionPinnedServerCert "pinnedCert" |
Cert or public key (data) | |
#define | kC4ReplicatorOptionOnlySelfSignedServerCert "onlySelfSignedServer" |
Only accept self signed server certs (for P2P, bool) | |
#define | kC4ReplicatorOptionExtraHeaders "headers" |
Extra HTTP headers (string[]) | |
#define | kC4ReplicatorOptionCookies "cookies" |
HTTP Cookie header value (string) | |
#define | kC4ReplicatorOptionAuthentication "auth" |
Auth settings (Dict); see [1]. | |
#define | kC4ReplicatorOptionProxyServer "proxy" |
Proxy settings (Dict); see [3]]. | |
#define | kC4ReplicatorHeartbeatInterval "heartbeat" |
Interval in secs to send a keepalive ping. | |
#define | kC4SocketOptionWSProtocols "WS-Protocols" |
Sec-WebSocket-Protocol header value. | |
#define | kC4SocketOptionNetworkInterface "networkInterface" |
Specific network interface (name or IP address) used for connecting to the remote server. | |
#define | kC4ReplicatorCompressionLevel "BLIPCompressionLevel" |
Data compression level, 0..9. | |
#define | kC4ReplicatorAuthType "type" |
Auth type; see [2] (string) | |
#define | kC4ReplicatorAuthUserName "username" |
User name for basic auth (string) | |
#define | kC4ReplicatorAuthPassword "password" |
Password for basic auth (string) | |
#define | kC4ReplicatorAuthEnableChallengeAuth "challengeAuth" |
Use challenge auth instead of preemptive auth for basic auth, default is false (bool); \ Implemented by BuiltInWebSocket. | |
#define | kC4ReplicatorAuthClientCert "clientCert" |
TLS client certificate (value platform-dependent) | |
#define | kC4ReplicatorAuthClientCertKey "clientCertKey" |
Client cert's private key (data) | |
#define | kC4ReplicatorAuthToken "token" |
Session cookie or auth token (string) | |
#define | kC4AuthTypeBasic "Basic" |
HTTP Basic (the default) | |
#define | kC4AuthTypeSession "Session" |
SG session cookie. | |
#define | kC4AuthTypeOpenIDConnect "OpenID Connect" |
OpenID Connect token. | |
#define | kC4AuthTypeFacebook "Facebook" |
Facebook auth token. | |
#define | kC4AuthTypeClientCert "Client Cert" |
TLS client cert. | |
#define | kC4ReplicatorProxyType "type" |
Proxy type; see [4] (string) | |
#define | kC4ReplicatorProxyHost "host" |
Proxy hostname (string) | |
#define | kC4ReplicatorProxyPort "port" |
Proxy port number (integer) | |
#define | kC4ReplicatorProxyAuth "auth" |
Proxy auth (Dict); see above. | |
#define | kC4ProxyTypeNone "none" |
Use no proxy (overrides system setting) | |
#define | kC4ProxyTypeHTTP "HTTP" |
HTTP proxy (using CONNECT method) | |
#define | kC4ProxyTypeHTTPS "HTTPS" |
HTTPS proxy (using CONNECT method) | |
#define | kC4ProxyTypeSOCKS "SOCKS" |
SOCKS proxy. | |
Typedefs | |
typedef void(* | C4ReplicatorStatusChangedCallback) (C4Replicator *, C4ReplicatorStatus, void *context) |
Callback a client can register, to get progress information. | |
typedef void(* | C4ReplicatorDocumentsEndedCallback) (C4Replicator *, bool pushing, size_t numDocs, const C4DocumentEnded *docs[], void *context) |
Callback a client can register, to hear about the replication status of documents. | |
typedef void(* | C4ReplicatorBlobProgressCallback) (C4Replicator *, bool pushing, C4CollectionSpec collectionSpec, C4String docID, C4String docProperty, C4BlobKey blobKey, uint64_t bytesComplete, uint64_t bytesTotal, C4Error error, void *context) |
Callback a client can register, to hear about the status of blobs. | |
typedef bool(* | C4ReplicatorValidationFunction) (C4CollectionSpec collectionSpec, C4String docID, C4String revID, C4RevisionFlags, FLDict body, void *context) |
Callback that can choose to reject an incoming pulled revision, or stop a local revision from being pushed, by returning false. | |
typedef void * | C4ReplicatorPropertyEncryptionCallback |
typedef void * | C4ReplicatorPropertyDecryptionCallback |
Enumerations | |
enum | C4ReplicatorMode : int32_t { kC4Disabled , kC4Passive , kC4OneShot , kC4Continuous } |
enum | C4ReplicatorActivityLevel : int32_t { kC4Stopped , kC4Offline , kC4Connecting , kC4Idle , kC4Busy , kC4Stopping } |
enum | C4ReplicatorStatusFlags : int32_t { kC4WillRetry = 0x1 , kC4HostReachable = 0x2 , kC4Suspended = 0x4 } |
enum | C4ReplicatorProgressLevel : int32_t { kC4ReplProgressOverall , kC4ReplProgressPerDocument , kC4ReplProgressPerAttachment } |
Functions | |
CBL_CORE_API bool | c4repl_isValidDatabaseName (C4String dbName) |
Checks whether a database name is valid, for purposes of appearing in a replication URL. | |
NODISCARD CBL_CORE_API bool | c4repl_isValidRemote (C4Address remoteAddress, C4String remoteDatabaseName, C4Error *outError) |
Checks whether the destination of a replication is valid. | |
NODISCARD CBL_CORE_API bool | c4address_fromURL (C4String url, C4Address *address, C4String *dbName) |
A simple URL parser that populates a C4Address from a URL string. | |
CBL_CORE_API C4StringResult | c4address_toURL (C4Address address) |
Converts a C4Address to a URL. | |
NODISCARD CBL_CORE_API C4Replicator * | c4repl_new (C4Database *db, C4Address remoteAddress, C4String remoteDatabaseName, C4ReplicatorParameters params, C4String logPrefix, C4Error *outError) |
Creates a new networked replicator. | |
NODISCARD CBL_CORE_API C4Replicator * | c4repl_newWithSocket (C4Database *db, C4Socket *openSocket, C4ReplicatorParameters params, C4String logPrefix, C4Error *outError) |
Creates a new replicator from an already-open C4Socket. | |
CBL_CORE_API void | c4repl_start (C4Replicator *repl, bool reset) |
Tells a replicator to start. | |
CBL_CORE_API void | c4repl_stop (C4Replicator *repl) |
Tells a replicator to stop. | |
NODISCARD CBL_CORE_API bool | c4repl_retry (C4Replicator *repl, C4Error *outError) |
Tells a replicator that's in the offline state to reconnect immediately. | |
CBL_CORE_API void | c4repl_setHostReachable (C4Replicator *repl, bool reachable) |
Informs the replicator whether it's considered possible to reach the remote host with the current network configuration. | |
CBL_CORE_API void | c4repl_setSuspended (C4Replicator *repl, bool suspended) |
Puts the replicator in or out of "suspended" state. | |
CBL_CORE_API void | c4repl_setOptions (C4Replicator *repl, C4Slice optionsDictFleece) |
Sets the replicator's options dictionary. | |
CBL_CORE_API C4ReplicatorStatus | c4repl_getStatus (C4Replicator *repl) |
Returns the current state of a replicator. | |
CBL_CORE_API C4Slice | c4repl_getResponseHeaders (C4Replicator *repl) |
Returns the HTTP response headers as a Fleece-encoded dictionary. | |
CBL_CORE_API C4SliceResult | c4repl_getPendingDocIDs (C4Replicator *repl, C4CollectionSpec spec, C4Error *outErr) |
Gets a fleece encoded list of IDs of documents who have revisions pending push. | |
NODISCARD CBL_CORE_API bool | c4repl_isDocumentPending (C4Replicator *repl, C4String docID, C4CollectionSpec spec, C4Error *outErr) |
Checks if the document with the given ID has revisions pending push. | |
NODISCARD CBL_CORE_API C4Cert * | c4repl_getPeerTLSCertificate (C4Replicator *repl, C4Error *outErr) |
Gets the TLS certificate, if any, that was sent from the remote server (NOTE: Only functions when using BuiltInWebSocket) | |
NODISCARD CBL_CORE_API bool | c4repl_setProgressLevel (C4Replicator *repl, C4ReplicatorProgressLevel level, C4Error *outErr) |
Sets the progress level of the replicator, indicating what information should be provided via callback. | |
NODISCARD CBL_CORE_API bool | c4db_setCookie (C4Database *db, C4String setCookieHeader, C4String fromHost, C4String fromPath, bool acceptParentDomain, C4Error *outError) |
Takes the value of a "Set-Cookie:" header, received from the given host, from an HTTP request with the given path, and saves the cookie into the database's cookie store. | |
CBL_CORE_API C4StringResult | c4db_getCookies (C4Database *db, C4Address request, C4Error *error) |
Locates any saved HTTP cookies relevant to the given request, and returns them as a string that can be used as the value of a "Cookie:" header. | |
CBL_CORE_API void | c4db_clearCookies (C4Database *db) |
Removes all cookies from the database's cookie store. | |
Variables | |
CBL_CORE_API const char *const | kC4ReplicatorActivityLevelNames [6] |
For convenience, an array of C strings naming the C4ReplicatorActivityLevel values. | |
#define kC4AuthTypeBasic "Basic" |
HTTP Basic (the default)
#define kC4AuthTypeClientCert "Client Cert" |
TLS client cert.
#define kC4AuthTypeFacebook "Facebook" |
Facebook auth token.
#define kC4AuthTypeOpenIDConnect "OpenID Connect" |
OpenID Connect token.
#define kC4AuthTypeSession "Session" |
SG session cookie.
#define kC4ProxyTypeHTTP "HTTP" |
HTTP proxy (using CONNECT method)
#define kC4ProxyTypeHTTPS "HTTPS" |
HTTPS proxy (using CONNECT method)
#define kC4ProxyTypeNone "none" |
Use no proxy (overrides system setting)
#define kC4ProxyTypeSOCKS "SOCKS" |
SOCKS proxy.
#define kC4Replicator2Scheme C4STR("ws") |
#define kC4Replicator2TLSScheme C4STR("wss") |
#define kC4ReplicatorAuthClientCert "clientCert" |
TLS client certificate (value platform-dependent)
#define kC4ReplicatorAuthClientCertKey "clientCertKey" |
Client cert's private key (data)
#define kC4ReplicatorAuthEnableChallengeAuth "challengeAuth" |
Use challenge auth instead of preemptive auth for basic auth, default is false (bool); \ Implemented by BuiltInWebSocket.
#define kC4ReplicatorAuthPassword "password" |
Password for basic auth (string)
#define kC4ReplicatorAuthToken "token" |
Session cookie or auth token (string)
#define kC4ReplicatorAuthType "type" |
Auth type; see [2] (string)
#define kC4ReplicatorAuthUserName "username" |
User name for basic auth (string)
#define kC4ReplicatorCheckpointInterval "checkpointInterval" |
How often to checkpoint, in seconds (number)
#define kC4ReplicatorCompressionLevel "BLIPCompressionLevel" |
Data compression level, 0..9.
#define kC4ReplicatorHeartbeatInterval "heartbeat" |
Interval in secs to send a keepalive ping.
#define kC4ReplicatorOptionAcceptParentDomainCookies "acceptParentDomainCookies" |
#define kC4ReplicatorOptionAuthentication "auth" |
Auth settings (Dict); see [1].
#define kC4ReplicatorOptionAutoPurge "autoPurge" |
Enables auto purge; default is true (bool)
#define kC4ReplicatorOptionChannels "channels" |
SG channel names (string[])
#define kC4ReplicatorOptionCookies "cookies" |
HTTP Cookie header value (string)
#define kC4ReplicatorOptionDisableDeltas "noDeltas" |
Disables delta sync (bool)
#define kC4ReplicatorOptionDisablePropertyDecryption "noDecryption" |
Disables property decryption (bool)
#define kC4ReplicatorOptionDocIDs "docIDs" |
Docs to replicate (string[])
#define kC4ReplicatorOptionExtraHeaders "headers" |
Extra HTTP headers (string[])
#define kC4ReplicatorOptionFilter "filter" |
Pull filter name (string)
#define kC4ReplicatorOptionFilterParams "filterParams" |
Pull filter params (Dict[string])
#define kC4ReplicatorOptionMaxRetries "maxRetries" |
Max number of retry attempts (int)
#define kC4ReplicatorOptionMaxRetryInterval "maxRetryInterval" |
Max delay betw retries (secs)
#define kC4ReplicatorOptionNoIncomingConflicts "noIncomingConflicts" |
Reject incoming conflicts (bool)
#define kC4ReplicatorOptionOnlySelfSignedServerCert "onlySelfSignedServer" |
Only accept self signed server certs (for P2P, bool)
#define kC4ReplicatorOptionPinnedServerCert "pinnedCert" |
Cert or public key (data)
#define kC4ReplicatorOptionProxyServer "proxy" |
Proxy settings (Dict); see [3]].
#define kC4ReplicatorOptionRemoteDBUniqueID "remoteDBUniqueID" |
Stable ID for remote db with unstable URL (string)
#define kC4ReplicatorOptionRootCerts "rootCerts" |
Trusted root certs (data)
#define kC4ReplicatorOptionSkipDeleted "skipDeleted" |
Don't push/pull tombstones (bool)
#define kC4ReplicatorProxyAuth "auth" |
Proxy auth (Dict); see above.
#define kC4ReplicatorProxyHost "host" |
Proxy hostname (string)
#define kC4ReplicatorProxyPort "port" |
Proxy port number (integer)
#define kC4ReplicatorProxyType "type" |
Proxy type; see [4] (string)
#define kC4SocketOptionNetworkInterface "networkInterface" |
Specific network interface (name or IP address) used for connecting to the remote server.
#define kC4SocketOptionWSProtocols "WS-Protocols" |
Sec-WebSocket-Protocol header value.
typedef void(* C4ReplicatorBlobProgressCallback) (C4Replicator *, bool pushing, C4CollectionSpec collectionSpec, C4String docID, C4String docProperty, C4BlobKey blobKey, uint64_t bytesComplete, uint64_t bytesTotal, C4Error error, void *context) |
Callback a client can register, to hear about the status of blobs.
typedef void(* C4ReplicatorDocumentsEndedCallback) (C4Replicator *, bool pushing, size_t numDocs, const C4DocumentEnded *docs[], void *context) |
Callback a client can register, to hear about the replication status of documents.
By default, only errors will be reported via this callback. To also receive callbacks for successfully completed documents, set the kC4ReplicatorOptionProgressLevel option to a value greater than zero.
typedef void* C4ReplicatorPropertyDecryptionCallback |
typedef void* C4ReplicatorPropertyEncryptionCallback |
typedef void(* C4ReplicatorStatusChangedCallback) (C4Replicator *, C4ReplicatorStatus, void *context) |
Callback a client can register, to get progress information.
This will be called on arbitrary background threads, and should not block.
typedef bool(* C4ReplicatorValidationFunction) (C4CollectionSpec collectionSpec, C4String docID, C4String revID, C4RevisionFlags, FLDict body, void *context) |
Callback that can choose to reject an incoming pulled revision, or stop a local revision from being pushed, by returning false.
(Note: In the case of an incoming revision, no flags other than 'deletion' and 'hasAttachments' will be set.)
enum C4ReplicatorActivityLevel : int32_t |
enum C4ReplicatorMode : int32_t |
enum C4ReplicatorProgressLevel : int32_t |
enum C4ReplicatorStatusFlags : int32_t |
NODISCARD CBL_CORE_API bool c4address_fromURL | ( | C4String | url, |
C4Address * | address, | ||
C4String * | dbName ) |
A simple URL parser that populates a C4Address from a URL string.
The fields of the address will point inside the url string.
url | The URL to be parsed. |
address | On sucess, the fields of the struct this points to will be populated with the address components. This that are slices will point into the appropriate substrings of url . |
dbName | If non-NULL, then on success this slice will point to the last path component of url ; address->path will not include this component. |
CBL_CORE_API C4StringResult c4address_toURL | ( | C4Address | address | ) |
Converts a C4Address to a URL.
CBL_CORE_API void c4db_clearCookies | ( | C4Database * | db | ) |
Removes all cookies from the database's cookie store.
CBL_CORE_API C4StringResult c4db_getCookies | ( | C4Database * | db, |
C4Address | request, | ||
C4Error * | error ) |
Locates any saved HTTP cookies relevant to the given request, and returns them as a string that can be used as the value of a "Cookie:" header.
NODISCARD CBL_CORE_API bool c4db_setCookie | ( | C4Database * | db, |
C4String | setCookieHeader, | ||
C4String | fromHost, | ||
C4String | fromPath, | ||
bool | acceptParentDomain, | ||
C4Error * | outError ) |
Takes the value of a "Set-Cookie:" header, received from the given host, from an HTTP request with the given path, and saves the cookie into the database's cookie store.
(Persistent cookies are saved as metadata in the database file until they expire. Session cookies are kept in memory, until the last C4Database handle to the given database is closed.)
db | The C4Databaser instance. |
setCookieHeader | The "Set-Cookie" header. |
fromHost | The host address of the request. |
fromPath | The path of the request. |
acceptParentDomain | Whether to allow the "Domain" property of the cookie to be a parent domain of the host address. It should match the option, kC4ReplicatorOptionAcceptParentDomainCookies, in C4ReplicatorParameters. |
outError | Records error information, if any. |
NODISCARD CBL_CORE_API C4Cert * c4repl_getPeerTLSCertificate | ( | C4Replicator * | repl, |
C4Error * | outErr ) |
Gets the TLS certificate, if any, that was sent from the remote server (NOTE: Only functions when using BuiltInWebSocket)
CBL_CORE_API C4SliceResult c4repl_getPendingDocIDs | ( | C4Replicator * | repl, |
C4CollectionSpec | spec, | ||
C4Error * | outErr ) |
Gets a fleece encoded list of IDs of documents who have revisions pending push.
This API is a snapshot and results may change between the time the call was made and the time the call returns.
repl | The C4Replicator instance. |
spec | The collection spec |
outErr | On failure, error information will be written here if non-NULL. |
CBL_CORE_API C4Slice c4repl_getResponseHeaders | ( | C4Replicator * | repl | ) |
Returns the HTTP response headers as a Fleece-encoded dictionary.
CBL_CORE_API C4ReplicatorStatus c4repl_getStatus | ( | C4Replicator * | repl | ) |
Returns the current state of a replicator.
NODISCARD CBL_CORE_API bool c4repl_isDocumentPending | ( | C4Replicator * | repl, |
C4String | docID, | ||
C4CollectionSpec | spec, | ||
C4Error * | outErr ) |
Checks if the document with the given ID has revisions pending push.
This API is a snapshot and results may change between the time the call was made and the time the call returns.
repl | The C4Replicator instance. |
docID | The ID of the document to check |
spec | The collection the docID belongs to. |
outErr | On failure, error information will be written here if non-NULL. |
CBL_CORE_API bool c4repl_isValidDatabaseName | ( | C4String | dbName | ) |
Checks whether a database name is valid, for purposes of appearing in a replication URL.
NODISCARD CBL_CORE_API bool c4repl_isValidRemote | ( | C4Address | remoteAddress, |
C4String | remoteDatabaseName, | ||
C4Error * | outError ) |
Checks whether the destination of a replication is valid.
(c4repl_new makes the same checks; this function is exposed so CBL can fail sooner.)
NODISCARD CBL_CORE_API C4Replicator * c4repl_new | ( | C4Database * | db, |
C4Address | remoteAddress, | ||
C4String | remoteDatabaseName, | ||
C4ReplicatorParameters | params, | ||
C4String | logPrefix, | ||
C4Error * | outError ) |
Creates a new networked replicator.
db | The local database. |
remoteAddress | The address of the remote server. |
remoteDatabaseName | The name of the database at the remote address. |
params | Replication parameters (see above.) |
logPrefix | prefix to the loggingClassName of returned C4Replicator. |
outError | Error, if replication can't be created. |
NODISCARD CBL_CORE_API C4Replicator * c4repl_newWithSocket | ( | C4Database * | db, |
C4Socket * | openSocket, | ||
C4ReplicatorParameters | params, | ||
C4String | logPrefix, | ||
C4Error * | outError ) |
Creates a new replicator from an already-open C4Socket.
This is for use by listeners that accept incoming connections, wrap them by calling c4socket_fromNative()
, then start a passive replication to service them.
db | The local database. |
openSocket | An already-created C4Socket. |
params | Replication parameters. Will usually use kC4Passive modes. |
logPrefix | prefix to the loggingClassName of returned C4Replicator. |
outError | Error, if replication can't be created. |
NODISCARD CBL_CORE_API bool c4repl_retry | ( | C4Replicator * | repl, |
C4Error * | outError ) |
Tells a replicator that's in the offline state to reconnect immediately.
repl | The replicator. |
outError | On failure, error information is stored here. |
CBL_CORE_API void c4repl_setHostReachable | ( | C4Replicator * | repl, |
bool | reachable ) |
Informs the replicator whether it's considered possible to reach the remote host with the current network configuration.
The default value is true. This only affects the replicator's behavior while it's in the Offline state: Setting it to false will cancel any pending retry and prevent future automatic retries. Setting it back to true will initiate an immediate retry.
CBL_CORE_API void c4repl_setOptions | ( | C4Replicator * | repl, |
C4Slice | optionsDictFleece ) |
Sets the replicator's options dictionary.
The changes will take effect next time the replicator connects.
NODISCARD CBL_CORE_API bool c4repl_setProgressLevel | ( | C4Replicator * | repl, |
C4ReplicatorProgressLevel | level, | ||
C4Error * | outErr ) |
Sets the progress level of the replicator, indicating what information should be provided via callback.
repl | The C4Replicator instance. |
level | The progress level to set on the replicator |
outErr | Records error information, if any. |
CBL_CORE_API void c4repl_setSuspended | ( | C4Replicator * | repl, |
bool | suspended ) |
Puts the replicator in or out of "suspended" state.
Setting suspended=true causes the replicator to disconnect and enter Offline state; it will not attempt to reconnect while it's suspended. Setting suspended=false causes the replicator to attempt to reconnect, if it was connected when suspended, and is still in Offline state.
CBL_CORE_API void c4repl_start | ( | C4Replicator * | repl, |
bool | reset ) |
Tells a replicator to start.
Ignored if it's not in the Stopped state.
repl
tries to acquire the database.repl | The C4Replicator instance. |
reset | If true, the replicator will reset its checkpoint and start replication from the beginning |
CBL_CORE_API void c4repl_stop | ( | C4Replicator * | repl | ) |
Tells a replicator to stop.
Ignored if in the Stopped state.
|
extern |
For convenience, an array of C strings naming the C4ReplicatorActivityLevel values.