###############################################################################
# dbc_device_ascii.def - DBC definition file for devices stored as ascii file
###############################################################################
##############################################################################
# REVISIONS
#   Date         Who              Reason
#   10-mar-2005  JM               Initial
#   18-Jul-2017  Dieter Krach     Add class Facinghead
#   07-Oct-2019  Dieter Krach     Add classes Steadyrest and Tailstock
#   13-Jan-2022  Yichao Deng      Add DB_ALIAS Holder
##############################################################################

DB_PREFIX  "DB("
DB_SUFFIX  ")"
ESS_PREFIX "ESS("
ESS_SUFFIX ")"

#############################################################################
#    The DB_ALIAS of the library reference. It is mandatory that this DB_ALIAS
#    appears in the alias list
#    
#############################################################################

#############################################################################
#    The list of DB_ALIAS
#
#    DB_ALIAS  <alias>
#    {
#         DB_ID       < Attribute identifier defined in the ASCII Data File
#         DB_ID_TYPE  < Type of the identifier >
#              d _ double
#              i _ integer
#              s _ string
#    }
#
##############################################################################

        DB_ALIAS  libref 
        {
           DB_ID        LIBRF
           DB_ID_TYPE   s
        }

        DB_ALIAS  Type 
        {
           DB_ID        T
           DB_ID_TYPE   s
        }

        DB_ALIAS  Description 
        {
           DB_ID        DESCR
           DB_ID_TYPE   s
        }

        DB_ALIAS  Holder
        {
           DB_ID        HLD
           DB_ID_TYPE   s
        }

LIBREF     libref

#########################################################################
#                      The Class Hierarchy                              #
#########################################################################
 CLASS DEVICE
 {
      TYPE   test1
      QUERY  "[1] == [1]"
      DIALOG libref
      RSET   libref Type Description Holder
      CLASS Chuck
      {
         TYPE test2
         QUERY   "[DB(Type)] == [1]"
         DIALOG  libref
         RSET    libref Description
      }
      CLASS Toolholder
      {
         TYPE test2
         QUERY   "[DB(Type)] == [2]"
         DIALOG  libref
         RSET    libref Description
      }
      CLASS Head
      {
         TYPE test2
         QUERY   "[DB(Type)] == [3]"
         DIALOG  libref
         RSET    libref Description
      }
      CLASS Facinghead
      {
         TYPE test2
         QUERY   "[DB(Type)] == [4]"
         DIALOG  libref
         RSET    libref Description
      }
      CLASS Steadyrest
      {
         TYPE test2
         QUERY  "[DB(Type)] == [5]"
         DIALOG libref
         RSET   libref Description
      }
      CLASS Tailstock
      {
         TYPE test2
         QUERY  "[DB(Type)] == [6]"
         DIALOG libref
         RSET   libref Description
      }
}
