aboutsummaryrefslogblamecommitdiffstats
path: root/include/Types.h
blob: 9d5576511457d26c80f6c2ac66b5e2c35c46d720 (plain) (tree)
1
2
3
4
5
6
7
8
9

            





                                                                    
                  
                                                             
               
                             
             
                          
          
                               
              
                                


               
                                                                 
             
                                                            
         
                                             
          


                                                


            
                                                            
                 
                                           
         
                                             


         
                                                                           
                  
                                            
                
                                     

              
#pragma once

/**
 * @file Types.h
 * @brief Shared enum types used by the runtime managers.
 */

/** @brief Runtime object categories known by the object manager. */
enum OBJECT_TYPE {
    /** A database snapshot grouping relations and tuples. */
    MULTIGROUP,
    /** A relation object. */
    RELATION,
    /** A tuple object. */
    TUPLE,
    /** An attribute object. */
    ATTRIBUTE,
    /** A transaction object. */
    TRANSACTION
};

/** @brief Operations that may be supported by an object type. */
enum METHOD {
    /** Opens an object and creates an authorized handle. */
    OPEN,
    /** Closes a previously opened handle. */
    CLOSE,
    /** Parses through a secondary namespace. */
    PARSE,
    /** Performs security checks. */
    SECURITY
};

/** @brief Claims granted to an authenticated connection. */
enum AUTH_CLAIM {
    /** Permission to read object state. */
    READ,
    /** Permission to mutate object state. */
    WRITE
};

/** @brief Authentication strategies supported by the permissions layer. */
enum AUTH_METHOD {
    /** Certificate-based authentication. */
    CERTIFICATE,
    /** Plain-text authentication. */
    PLAIN_TEXT
};