<?xml?>

<tm2>
  <type id="AQH_USER" type="pointer">
    <descr>
    </descr>
    <lang id="c">
      <identifier>AQH_USER</identifier>
      <prefix>AQH_User</prefix>
      <baseFileName>user</baseFileName>
      
      <flags>
        with_xml
        with_db
        with_list1
        with_list2
        with_refcount
        nodup
        nocopy
      </flags>
      
      <headers>
        <header type="sys" loc="pre">aqhome/api.h</header>
        <header type="sys" loc="pre">gwenhywfar/error.h</header>
        <header type="sys" loc="pre">gwenhywfar/timestamp.h</header>
        <header type="sys" loc="post">aqhome/service/moduleperms.h</header>
      </headers>

      <inlines>
      </inlines>

    </lang>

    <defines>
      <define id="AQH_USER_RTFLAGS" prefix="AQH_USER_RTFLAGS_">
        <item name="MODIFIED"    value="0x00000001" />
        <item name="PERMSCALC"   value="0x00000002" />
     </define>
      
    </defines>

    <enums>

      <enum id="AQH_USER_STATE" prefix="AQH_UserState_">
        <item name="suspended">
          <descr>User suspended</descr>
        </item>

        <item name="waitForConfirmation">
          <descr>Waiting for email confirmation</descr>
        </item>

        <item name="waitForApproval">
          <descr>Waiting for approval by admin</descr>
        </item>

      </enum>

    </enums>


    <members>
  
      <member name="id" type="uint32_t" maxlen="4">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>with_getbymember</flags>
      </member>

      <member name="flags" type="uint32_t" maxlen="4">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>with_flags</flags>
      </member>

      <member name="state" type="int" maxlen="4">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags></flags>
      </member>

      <member name="name" type="char_ptr" maxlen="16">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>own</flags>
      </member>

      <member name="alias" type="char_ptr" maxlen="16">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>own with_getbymember</flags>
      </member>

      <member name="hashedPassword" type="char_ptr" maxlen="128">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>own</flags>
      </member>

      <member name="email" type="char_ptr" maxlen="128">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>own</flags>
      </member>

      <member name="notes" type="char_ptr" maxlen="256">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>own</flags>
      </member>

      <member name="timestampCreation" type="gwen_timestamp" maxlen="8">
        <default>NULL</default>
        <preset>NULL</preset>
        <access>public</access>
        <flags>own</flags>
      </member>

      <member name="timestampLastLogin" type="gwen_timestamp" maxlen="8">
        <default>NULL</default>
        <preset>NULL</preset>
        <access>public</access>
        <flags>own</flags>
      </member>

      <member name="modulePermList" type="AQH_MODULE_PERMS_LIST">
        <default>NULL</default>
        <preset>NULL</preset>
        <access>public</access>
        <getflags>none</getflags>
        <setflags>none</setflags>
        <flags>own</flags>
      </member>


      <member name="runtimeFlags" type="uint32_t" maxlen="4">
        <default>0</default>
        <preset>0</preset>
        <access>public</access>
        <flags>volatile with_flags</flags>
      </member>

    </members>
    
  </type>
  
</tm2>

