<?xml version="1.0" encoding="iso-8859-1"?>
<module name="Ft.Server.Server.Drivers.MySQL" file="/work/a/ports/textproc/py-4suite/work/4Suite-1.0b1/build/lib.freebsd-7.1-RELEASE-i386-2.4/Ft/Server/Server/Drivers/MySQL/__init__.py">
  <modification-date>2005-04-11 03:17:52</modification-date>
  <abstract/>
  <description/>
  <modules>
    <module-reference public="yes" documented="yes" name="Escapec" realname="Ft.Server.Server.Drivers.MySQL.Escapec">
      <abstract/>
      <description/>
    </module-reference>
    <module-reference public="yes" documented="no" name="MySQLContainer" realname="MySQLContainer">
      <abstract>Implements simple containment as a table in MySQL:</abstract>
      <description>parent   /  child
------------------
/parent1 |  child1
/parent2 |  child2</description>
    </module-reference>
  </modules>
  <classes>
    <class name="MySQLDriver" public="yes">
      <bases>
        <base documented="yes" class="MySQLContainer" module="Ft.Server.Server.Drivers.MySQL.MySQLContainer"/>
      </bases>
      <abstract>Store information in a MySQL (InnoDB) Database</abstract>
      <description/>
      <method-resolution-order>
        <base name="MySQLDriver" module="Ft.Server.Server.Drivers.MySQL"/>
        <base name="MySQLContainer" module="Ft.Server.Server.Drivers.MySQL.MySQLContainer"/>
        <base name="DataStoreContainer" module="Ft.Server.Server.Drivers.FtssDriver"/>
      </method-resolution-order>
      <methods documented="yes" class="MySQLDriver" module="Ft.Server.Server.Drivers.MySQL" inherited="no">
        <method public="no" name="__init__" id="MySQLDriver-__init__">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="dbName"/>
            <arg name="host"/>
            <arg name="port"/>
            <arg name="user"/>
            <arg name="passwd"/>
          </arguments>
          <overrides name="MySQLContainer" module="Ft.Server.Server.Drivers.MySQL.MySQLContainer"/>
        </method>
        <method public="yes" name="commit" id="MySQLDriver-commit">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="createFile" id="MySQLDriver-createFile">
          <abstract>When creating a resource, store the content</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg name="typ"/>
            <arg name="content"/>
          </arguments>
        </method>
        <method public="yes" name="deleteFile" id="MySQLDriver-deleteFile">
          <abstract>Delete an object</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg name="typ"/>
          </arguments>
        </method>
        <method public="yes" name="fetchFile" id="MySQLDriver-fetchFile">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg name="typ"/>
          </arguments>
        </method>
        <method public="yes" name="getSystemModel" id="MySQLDriver-getSystemModel">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="getUserModel" id="MySQLDriver-getUserModel">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="hasFile" id="MySQLDriver-hasFile">
          <abstract>See if we have any meta information about this resource</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg name="typ"/>
          </arguments>
        </method>
        <method public="yes" name="rollback" id="MySQLDriver-rollback">
          <abstract>Undo it</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="updateFile" id="MySQLDriver-updateFile">
          <abstract>Update only the content about this resource</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg name="typ"/>
            <arg name="content"/>
          </arguments>
        </method>
      </methods>
      <methods documented="yes" class="MySQLContainer" module="Ft.Server.Server.Drivers.MySQL.MySQLContainer" inherited="yes">
        <member-reference name="fetchChildren" public="yes"/>
        <member-reference name="initialize" public="yes"/>
        <member-reference name="manageChildren" public="yes"/>
      </methods>
      <methods documented="yes" class="DataStoreContainer" module="Ft.Server.Server.Drivers.FtssDriver" inherited="yes">
        <member-reference name="childReferenceXML" public="yes"/>
        <member-reference name="createContainer" public="yes"/>
        <member-reference name="deleteContainer" public="yes"/>
      </methods>
    </class>
  </classes>
  <functions>
    <function public="yes" name="Begin" id="Begin">
      <abstract>Begin a new transaction.  Every driver must support this interface.
The properties keyword arguments are passed from the config file
(or where ever) to the driver.  The Begin file is responsible
for doing what ever is needed to validate these arguements</abstract>
      <description/>
      <arguments>
        <var-keywords name="properties"/>
      </arguments>
    </function>
    <function public="yes" name="BuildRdfConnString" id="BuildRdfConnString">
      <abstract/>
      <description/>
      <arguments>
        <arg name="properties"/>
      </arguments>
    </function>
    <function public="yes" name="Destroy" id="Destroy">
      <abstract>Completly destroy the repo</abstract>
      <description/>
      <arguments>
        <arg name="properties"/>
        <arg default="0" name="tryOnly"/>
      </arguments>
    </function>
    <function public="yes" name="Exists" id="Exists">
      <abstract>See if this repo exists.  The return value for this is three state.
1.  Everything is present
0.  Some things are there
-1  Nothing is there.</abstract>
      <description/>
      <arguments>
        <arg name="properties"/>
      </arguments>
    </function>
    <function public="yes" name="Initialize" id="Initialize">
      <abstract>Initialize a new copy of the repo.  This is not the same as a 4ss_manager init.  This
is very raw.  The adapter will take care of calling our other interfaces
(createContainer, createUser, etc) with all of the information
about the rest of the 'init' stuff to do</abstract>
      <description/>
      <arguments>
        <arg name="properties"/>
      </arguments>
    </function>
    <function public="yes" name="InitializeModule" id="InitializeModule">
      <abstract>Post-import hook to initialize module's runtime variables that are not
required at import time, but will be needed before the module-level
functions are called.</abstract>
      <description/>
      <arguments>
      </arguments>
    </function>
    <function public="yes" name="Maintain" id="Maintain">
      <abstract>Perform any maintenance on the db
Necessary for MySQL??!</abstract>
      <description/>
      <arguments>
        <arg name="properties"/>
      </arguments>
    </function>
  </functions>
  <fields>
    <field public="yes" name="FTSERVER_NAMESPACE" id="FTSERVER_NAMESPACE">
      <value>'http://xmlns.4suite.org/reserved'</value>
    </field>
    <field public="yes" name="FTSS_CONTAIMENT_TABLE" id="FTSS_CONTAIMENT_TABLE">
      <value>'ftss_containment'</value>
    </field>
    <field public="yes" name="NAME" id="NAME">
      <value>'MySQL'</value>
    </field>
    <field public="yes" name="SYSTEM_MODEL_NAME" id="SYSTEM_MODEL_NAME">
      <value>'system'</value>
    </field>
    <field public="yes" name="USER_MODEL_NAME" id="USER_MODEL_NAME">
      <value>'user'</value>
    </field>
    <field public="yes" name="VERSION" id="VERSION">
      <value>'0.1'</value>
    </field>
  </fields>
</module>
