Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: 6338ebaa80e26642af5f22d57756d19b2e390d7c (plain) (tree)




























































































































































































































































































                                                                                                                                                       
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Target Communication Framework Services - PathMap</title>
</head>

<body lang='EN-US'>

<h1>Target Communication Framework Services - PathMap</h1>

<ul>
    <li><a href='#VersionHistory'>Version History</a>
    <li><a href='#Overview'>Overview</a>
    <li><a href='#Cmds'>Commands</a>
    <ul>
        <li><a href='#CmdGet'>Get</a>
        <li><a href='#CmdSet'>Set</a>
    </ul>
    <li><a href='#Events'>Events</a>
    <li><a href='#API'>API</a>
</ul>

<h1>Memory Service</h1>

<h2><a name='VersionHistory'>Version History</a></h2>

<table border=1 cellpadding=8>
    <tr>
        <th>Version
        <th>Date
        <th>Change
    <tr>
        <td>0.0
        <td>2012-07-22
        <td>Initial documentation based on source code
</table>

<h2><a name='Overview'>Overview</a></h2>

<p>The service manages file path translation across systems. Command and event
parameters are encoded as zero terminated <a
href='TCF Specification.html#JSON'>JSON</a> strings.</p>

<p>The service uses standard format for error reports,
see <a href='TCF Services.html#ErrorFormat'>Error Report Format</a>.</p>

<h2><a name='Cmds'>Commands</a></h2>

<h3><a name='CmdGet'>Get</a></h3>

<pre><b><font face="Courier New" size=2 color=#333399>
C &bull; <i>&lt;token&gt;</i> &bull; PathMap &bull; get &bull;
</font></b></pre>

<p>The command retrieves file path mapping rules.</p>

<p>Reply:</p>

<pre><b><font face="Courier New" size=2 color=#333399>
R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;array of path map rules&gt;</i> &bull;

<i>&lt;array of path map rules&gt;</i>
    &rArr; null
    &rArr; [ <i>&lt;path map rules list&gt;</i> ]

<i>&lt;path map rules list&gt;</i>
    &rArr; <i>&lt;object: path map rule&gt;</i>
    &rArr; <i>&lt;path map rules list&gt;</i> , <i>&lt;object: path map rule&gt;</i>
</font></b></pre>

<p>Predefined path map rule properties are:</p>
<ul>
    <li><code><b><font face="Courier New" size=2 color=#333399>"ID" : <i>&lt;string&gt;</i></font></b></code>
    - ID of the rule.

    <li><code><b><font face="Courier New" size=2 color=#333399>"Source" : <i>&lt;string&gt;</i></font></b></code>
    - source or compile time file path.

    <li><code><b><font face="Courier New" size=2 color=#333399>"Destination" : <i>&lt;string&gt;</i></font></b></code>
    - destination or run-time file path.

    <li><code><b><font face="Courier New" size=2 color=#333399>"Context" : <i>&lt;string&gt;</i></font></b></code>
    - symbols context group ID or name, deprecated - use ContextQuery.

    <li><code><b><font face="Courier New" size=2 color=#333399>"ContextQuery" : <i>&lt;string&gt;</i></font></b></code>
    - context query.

    <li><code><b><font face="Courier New" size=2 color=#333399>"Host" : <i>&lt;string&gt;</i></font></b></code>
    - host.

    <li><code><b><font face="Courier New" size=2 color=#333399>"Protocol" : <i>&lt;string&gt;</i></font></b></code>
    - file access protocol, see predefined protocol values.

    <p>Predefined protocol values are:</p>
    <ul>
        <li><code><b><font face="Courier New" size=2 color=#333399>"file"</font></b></code>
        - Regular file access using system calls.

        <li><code><b><font face="Courier New" size=2 color=#333399>"host"</font></b></code>
        - File should be accessed using File System service on host.

        <li><code><b><font face="Courier New" size=2 color=#333399>"target"</font></b></code>
        - File should be accessed using File System service on target.
    </ul>
</ul>

<h3><a name='CmdSet'>Set</a></h3>

<pre><b><font face="Courier New" size=2 color=#333399>
C &bull; <i>&lt;token&gt;</i> &bull; PathMap &bull; set &bull; [ <i>&lt;path map rules list&gt;</i> ] &bull;

<i>&lt;path map rules list&gt;</i>
    &rArr; <i>&lt;object: path map rule&gt;</i>
    &rArr; <i>&lt;path map rules list&gt;</i> , <i>&lt;object: path map rule&gt;</i>
</font></b></pre>

<p>The command set file path mapping rules.</p>

<p>Reply:</p>

<pre><b><font face="Courier New" size=2 color=#333399>
R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
</font></b></pre>

<h2><a name='Events'>Events</a></h2>

<p>PathMap service broadcasts notification events when path mappings are changed.</p>

<pre><b><font face="Courier New" size=2 color=#333399>
E &bull; PathMap &bull; changed &bull;
</font></b></pre>

<h2><a name='API'>API</a></h2>

<pre>
<font color=#3F5FBF>/**
 * IPathMap service manages file path translation across systems.
 */</font>
<font color=#7F0055>public interface</font> IPathMap extends IService {

    <font color=#7F0055>static final</font> String NAME = "PathMap";

    <font color=#3F5FBF>/**
     * Path mapping rule property names.
     */</font>
    <font color=#7F0055>static final</font> String
        PROP_ID = "ID",                       <font color=#3F5FBF>/** String, rule ID */</font>
        PROP_SOURCE = "Source",               <font color=#3F5FBF>/** String, source, or compile-time file path */</font>
        PROP_DESTINATION = "Destination",     <font color=#3F5FBF>/** String, destination, or run-time file path */</font>
        PROP_CONTEXT = "Context",             <font color=#3F5FBF>/** String, symbols context group ID or name, deprecated - use ContextQuery */</font>
        PROP_CONTEXT_QUERY = "ContextQuery",  <font color=#3F5FBF>/** String, contexts query, see IContextQuery */</font>
        PROP_HOST = "Host",                   <font color=#3F5FBF>/** String, */</font>
        PROP_PROTOCOL = "Protocol";           <font color=#3F5FBF>/** String, file access protocol, see PROTOCOL_*, default is regular file */</font>

    <font color=#3F5FBF>/**
     * PROP_PROTOCOL values.
     */</font>
    <font color=#7F0055>static final</font> String
        PROTOCOL_FILE = "file",     <font color=#3F5FBF>/** Regular file access using system calls */</font>
        PROTOCOL_HOST = "host",     <font color=#3F5FBF>/** File should be accessed using File System service on host */</font>
        PROTOCOL_TARGET = "target"; <font color=#3F5FBF>/** File should be accessed using File System service on target */</font>

    <font color=#3F5FBF>/**
     * PathMapRule interface represents a single file path mapping rule.
     */</font>
    <font color=#7F0055>interface</font> PathMapRule {

        <font color=#3F5FBF>/**
         * Get rule properties. See PROP_* definitions for property names.
         * Properties are read only, clients should not try to modify them.
         * @return Map of rule properties.
         */</font>
        Map<String,Object> getProperties();

        <font color=#3F5FBF>/**
         * Get rule unique ID.
         * Same as getProperties().get(PROP_ID)
         * @return rule ID.
         */</font>
        String getID();

        <font color=#3F5FBF>/**
         * Get compile-time file path.
         * Same as getProperties().get(PROP_SOURCE)
         * @return compile-time file path.
         */</font>
        String getSource();

        <font color=#3F5FBF>/**
         * Get run-time file path.
         * Same as getProperties().get(PROP_DESTINATION)
         * @return run-time file path.
         */</font>
        String getDestination();

        <font color=#3F5FBF>/**
         * Get host name of this rule.
         * Same as getProperties().get(PROP_HOST)
         * @return host name.
         */</font>
        String getHost();

        <font color=#3F5FBF>/**
         * Get file access protocol name.
         * Same as getProperties().get(PROP_PROTOCOL)
         * @return protocol name.
         */</font>
        String getProtocol();

        <font color=#3F5FBF>/**
         * Get context query that defines scope of the mapping rule, see also IContextQuery.
         * Same as getProperties().get(PROP_CONTEXT_QUERY)
         * @return context query expression, or null.
         */</font>
        String getContextQuery();
    }

    <font color=#3F5FBF>/**
     * Retrieve file path mapping rules.
     *
     * <font color=#7F9FBF>@param</font> done &ndash; call back interface called when operation is completed.
     * @return &ndash; pending command handle.
     */</font>
    IToken get(DoneGet done);

    <font color=#3F5FBF>/**
     * Client call back interface for get().
     */</font>
    <font color=#7F0055>interface</font> DoneGet {
        <font color=#3F5FBF>/**
         * Called when file path mapping retrieval is done.
         * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
         * <font color=#7F9FBF>@param</font> map &ndash; file path mapping data.
         */</font>
        <font color=#7F0055>void</font> doneGet(IToken token, Exception error, PathMapRule[] map);
    }

    <font color=#3F5FBF>/**
     * Set file path mapping rules.
     *
     * <font color=#7F9FBF>@param</font> map &ndash; file path mapping rules.
     * <font color=#7F9FBF>@param</font> done &ndash; call back interface called when operation is completed.
     * @return &ndash; pending command handle.
     */</font>
    IToken set(PathMapRule[] map, DoneSet done);

    <font color=#3F5FBF>/**
     * Client call back interface for set().
     */</font>
    <font color=#7F0055>interface</font> DoneSet {
         <font color=#3F5FBF>/**
         * Called when file path mapping transmission is done.
         * <font color=#7F9FBF>@param</font> error &ndash; error description if operation failed, null if succeeded.
         * <font color=#7F9FBF>@param</font> map &ndash; memory map data.
         */</font>
        <font color=#7F0055>void</font> doneSet(IToken token, Exception error);
    }

    <font color=#3F5FBF>/**
     * Add path map event listener.
     * <font color=#7F9FBF>@param</font> listener &ndash; path map event listener to add.
     */</font>
    <font color=#7F0055>void</font> addListener(PathMapListener listener);

    <font color=#3F5FBF>/**
     * Remove path map event listener.
     * <font color=#7F9FBF>@param</font> listener &ndash; path map event listener to remove.
     */</font>
    <font color=#7F0055>void</font> removeListener(PathMapListener listener);

    <font color=#3F5FBF>/**
     * Service events listener interface.
     */</font>
    <font color=#7F0055>interface</font> PathMapListener {

        <font color=#3F5FBF>/**
         * Called when path map changes.
         */</font>
        <font color=#7F0055>void</font> changed();
    }
}
</pre>

</body>
</html>

Back to the top