blob: 6338ebaa80e26642af5f22d57756d19b2e390d7c [file] [log] [blame]
<!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>