Other Enumerations

The following enumerations are available globally.

  • Undocumented

    See more

    Declaration

    Objective-C

    NS_ENUM(NSInteger, YapReachabilityStatus) {
        // Apple NetworkStatus Compatible Names.
        YapReachabilityStatus_NotReachable = 0,
        YapReachabilityStatus_ReachableViaWiFi = 2,
        YapReachabilityStatus_ReachableViaWWAN = 1
    }

    Swift

    enum YapReachabilityStatus : Int
  • Undocumented

    See more

    Declaration

    Objective-C

    NS_ENUM(NSInteger, YDBCloudCorePipelineAlgorithm) {
    	
    	/**
    	 * This is the default algorithm if you don't explicitly pick one.
    	 * It is HIGHLY recommended you start with this algorithm, until you become more advanced.
    	 *
    	 * The "Commit Graph" algorithm works as follows:
    	 *
    	 * - all operations added within a specific commit are added to their own "graph"
    	 * - the pipeline will execute each graph 1-at-a-time
    	 * - this ensures that graphs are completed in commit order
    	 *
    	 * That is, if a pipeline contains 2 graphs:
    	 * - graph "A" - representing operations from commit #32
    	 * - graph "B" - represending operations from commit #33
    	 *
    	 * Then the pipeline will ensure that ALL operations from graphA are either completed or skipped
    	 * before ANY operations from graphB start.
    	 *
    	 * This is the safest option because it means:
    	 * - you only have to think about operation dependencies within the context of a single commit
    	 * - the pipeline ensures the cloud moves from commit to commit (just as occurred locally)
    	 */
    	YDBCloudCorePipelineAlgorithm_CommitGraph = 0,
    	
    	/**
    	 * This is and ADVANCED algorithm that is only recommended after your cloud solution has matured.
    	 *
    	 * The "Flat Graph" algorithm works as follows:
    	 *
    	 * - all operations added within a specific commit are added to their own "graph"
    	 * - HOWEVER, the pipeline is free to start operations from ANY graph
    	 * - and it will do so, while respecting dependencies, priorities & maxConcurrentOperationCount
    	 *
    	 * In particular, what this means for you is:
    	 *
    	 * - you MUST create a FORMAL DEPENDENCY GRAPH (think: state diagram for dependencies)
    	 *
    	 * That is:
    	 * - given any possible operation (opA) in commitA
    	 * - and given any possible operation (opB) in commitB
    	 * - your formal dependency graph must determine if opB should depend on opA
    	 *
    	 * The recommended way of implementing your formal dependency graph is by
    	 * subclassing YapDatabaseCloudCoreTransaction & overriding the various subclass hooks, such as:
    	 * - willAddOperation:inPipeline:withGraphIdx:
    	 * - willInsertOperation:inPipeline:withGraphIdx:
    	 * - willModifyOperation:inPipeline:withGraphIdx:
    	 */
    	YDBCloudCorePipelineAlgorithm_FlatGraph = 1
    }

    Swift

    enum YDBCloudCorePipelineAlgorithm : Int
  • Undocumented

    See more

    Declaration

    Objective-C

    NS_ENUM(NSInteger, YDBCloudCoreOperationStatus) {
    	
    	/**
    	 * Pending means that the operation is queued in the pipeline,
    	 * and may be released to the delegate when ready.
    	 * 
    	 * If an operation fails, the PipelineDelegate may re-queue the operation by marking its status as pending.
    	 * This gives control over the operation back to the pipeline,
    	 * and it will dispatch it to the PipelineDelegate again when ready.
    	 */
    	YDBCloudOperationStatus_Pending = 0,
    	
    	/**
    	 * The operation has been started.
    	 * I.e. has been handed to the PipelineDelegate via 'startOperation::'.
    	 */
    	YDBCloudOperationStatus_Active,
    	
    	/**
    	 * Until an operation is marked as either completed or skipped,
    	 * the pipeline will act as if the operation is still in progress.
    	 * 
    	 * In order to mark an operation as completed or skipped, the following must be used:
    	 * - [YapDatabaseCloudCoreTransaction completeOperation:]
    	 * - [YapDatabaseCloudCoreTransaction skipOperation:]
    	 * 
    	 * These methods allow the system to delete the operation from the internal sqlite table.
    	 */
    	YDBCloudOperationStatus_Completed,
    	YDBCloudOperationStatus_Skipped,
    }

    Swift

    enum YDBCloudCoreOperationStatus : Int
  • Undocumented

    See more

    Declaration

    Objective-C

    NS_OPTIONS(NSUInteger, YapDatabaseHooksBitMask) {
    	
    	/**
    	 * When a row is inserted into the databaase (new collection/key tuple),
    	 * then the YapDatabaseHooksInsertedRow flag will be set.
    	 * 
    	 * When a row is modified in the database (existing collection/key tuple),
    	 * then the YapDatabaseHooksUpdatedRow flag will be set.
    	 * 
    	 * When a row is explicitly touched in the database (e.g. touchObjectForKey:inCollection:)
    	 * then neither YapDatabaseHooksInsertedRow nor YapDatabaseHooksUpdatedRow will be set.
    	 */
    	
    	// An insert means that the collection/key tuple does not currently exist in the database.
    	// So the object & metadata items are getting inserted / added.
    	YapDatabaseHooksInsertedRow     = 1 << 0, // 0000001
    	
    	// An update means that the collection/key tuple currently exists in the database.
    	// So the object and/or metadata items are getting changed / updated.
    	YapDatabaseHooksUpdatedRow      = 1 << 1, // 0000010
    	
    	/**
    	 * When a row is inserted, modified or touched,
    	 * both the object & metadata flags will be set appropriately.
    	 * 
    	 * Either the object was changed (had it's value set) or was simply touched (value didn't change).
    	 * So either YapDatabaseHooksChangedObject or YapDatabaseHooksTouchedObject will be set. But not both.
    	 * 
    	 * Either the metadata was changed (had it's value set) or was simply touched (value didn't change).
    	 * So either YapDatabaseHooksChangedMetadata or YapDatabaseHooksTouchedMetadata will be set. But not both.
    	 */
    	
    	// The object is being modified.
    	// This will always be set if the InsertedRow flag is also set.
    	YapDatabaseHooksChangedObject   = 1 << 2, // 0000100
    	
    	// The metadata is being modified.
    	// This will always be set if the InsertedRow flag is also set.
    	YapDatabaseHooksChangedMetadata = 1 << 3, // 0001000
    	
    	// The object is being explicitly touched.
    	YapDatabaseHooksTouchedObject   = 1 << 4, // 0010000
    	
    	// The object is being explicitly touched.
    	YapDatabaseHooksTouchedMetadata = 1 << 5, // 0100000
    }

    Swift

    struct YapDatabaseHooksBitMask : OptionSet
  • Corresponds to the different type of blocks supported by the various extension subclasses.

    See more

    Declaration

    Objective-C

    enum YapDatabaseBlockType {}

    Swift

    struct YapDatabaseBlockType : OptionSet
  • Advanced options concerning exactly when to invoke the block.

    See more

    Declaration

    Objective-C

    enum YapDatabaseBlockInvoke {}

    Swift

    struct YapDatabaseBlockInvoke : OptionSet
  • Undocumented

    See more

    Declaration

    Objective-C

    NS_ENUM(NSInteger, YapDatabaseViewChangeType) {
    	YapDatabaseViewChangeInsert = 1,
    	YapDatabaseViewChangeDelete = 2,
    	YapDatabaseViewChangeMove   = 3,
    	YapDatabaseViewChangeUpdate = 4,
    }

    Swift

    enum YapDatabaseViewChangeType : Int
  • Undocumented

    See more

    Declaration

    Objective-C

    NS_OPTIONS(NSUInteger, YapDatabaseViewChangesBitMask) {
    	YapDatabaseViewChangedObject     = 1 << 0, // 0001
    	YapDatabaseViewChangedMetadata   = 1 << 1, // 0010
    	YapDatabaseViewChangedDependency = 1 << 2, // 0100  (used by YapDatabaseViewMappings)
    	YapDatabaseViewChangedSnippets   = 1 << 3, // 1000  (used by YapDatabaseSearchResultsView)
    }

    Swift

    struct YapDatabaseViewChangesBitMask : OptionSet
  • Range offsets are specified from either the beginning or end.

    See

    fixedRangeWithLength:offset:from:

    See

    flexibleRangeWithStartingLength:startingOffset:from:
    See more

    Declaration

    Objective-C

    enum YapDatabaseViewPin {}

    Swift

    enum YapDatabaseViewPin : Int
  • Grow options allow you to specify in which direction flexible ranges can grow.

    See

    growOptions
    See more

    Declaration

    Objective-C

    enum YapDatabaseViewGrowOptions {}

    Swift

    struct YapDatabaseViewGrowOptions : OptionSet
  • Log flags are a bitmask, which are biwise-OR’d with the log level to determine if the log message should be emitted.

    See more

    Declaration

    Objective-C

    enum YDBLogFlag {}

    Swift

    struct YDBLogFlag : OptionSet
  • Log levels are used to filter out logs. Used together with flags.

    See more

    Declaration

    Objective-C

    enum YDBLogLevel {}

    Swift

    enum YDBLogLevel : UInt
  • Specifies what YapDatabase should do when the OS broadcasts a low-memory warning to the app.

    See more

    Declaration

    Objective-C

    enum YapDatabaseConnectionFlushMemoryFlags {}

    Swift

    struct YapDatabaseConnectionFlushMemoryFlags : OptionSet
  • Welcome to YapDatabase!

    The project page has a wealth of documentation if you have any questions. https://github.com/yapstudios/YapDatabase

    If you’re new to the project you may want to visit the wiki. https://github.com/yapstudios/YapDatabase/wiki

    This class provides extra configuration options that may be passed to YapDatabase. The configuration options provided by this class are advanced (beyond the basic setup options).

    See more

    Declaration

    Objective-C

    enum YapDatabaseCorruptAction {}

    Swift

    enum YapDatabaseCorruptAction : Int
  • Undocumented

    See more

    Declaration

    Objective-C

    NS_ENUM(NSInteger, YapDatabasePragmaSynchronous) {
    	YapDatabasePragmaSynchronous_Off    = 0,
    	YapDatabasePragmaSynchronous_Normal = 1,
    	YapDatabasePragmaSynchronous_Full   = 2,
    }

    Swift

    enum YapDatabasePragmaSynchronous : Int