| <!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 • <i><token></i> • PathMap • get • |
| </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 • <i><token></i> • <i><error report></i> • <i><array of path map rules></i> • |
| |
| <i><array of path map rules></i> |
| ⇒ null |
| ⇒ [ <i><path map rules list></i> ] |
| |
| <i><path map rules list></i> |
| ⇒ <i><object: path map rule></i> |
| ⇒ <i><path map rules list></i> , <i><object: path map rule></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><string></i></font></b></code> |
| - ID of the rule. |
| |
| <li><code><b><font face="Courier New" size=2 color=#333399>"Source" : <i><string></i></font></b></code> |
| - source or compile time file path. |
| |
| <li><code><b><font face="Courier New" size=2 color=#333399>"Destination" : <i><string></i></font></b></code> |
| - destination or run-time file path. |
| |
| <li><code><b><font face="Courier New" size=2 color=#333399>"Context" : <i><string></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><string></i></font></b></code> |
| - context query. |
| |
| <li><code><b><font face="Courier New" size=2 color=#333399>"Host" : <i><string></i></font></b></code> |
| - host. |
| |
| <li><code><b><font face="Courier New" size=2 color=#333399>"Protocol" : <i><string></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 • <i><token></i> • PathMap • set • [ <i><path map rules list></i> ] • |
| |
| <i><path map rules list></i> |
| ⇒ <i><object: path map rule></i> |
| ⇒ <i><path map rules list></i> , <i><object: path map rule></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 • <i><token></i> • <i><error report></i> • |
| </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 • PathMap • changed • |
| </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 – call back interface called when operation is completed. |
| * @return – 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 – error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> map – 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 – file path mapping rules. |
| * <font color=#7F9FBF>@param</font> done – call back interface called when operation is completed. |
| * @return – 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 – error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> map – 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 – 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 – 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> |