mikronode-ng
Version:
Mikrotik API implemented in Node
949 lines (391 loc) • 23.7 kB
HTML
<html>
<head>
<meta charset="utf-8">
<title>Namespace: mikronode-ng</title>
<meta property="og:title" content=""/>
<meta property="og:type" content="website"/>
<meta property="og:image" content=""/>
<meta property="og:url" content=""/>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<script src="scripts/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="styles/jaguar.css">
<script>
var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true},"applicationName":"MikroNode","disqus":"","googleAnalytics":"","openGraph":{"title":"","type":"website","image":"","site_name":"","url":""},"meta":{"title":"","description":"","keyword":""},"linenums":false};
</script>
</head>
<body>
<div id="wrap" class="clearfix">
<div class="navigation">
<h3 class="applicationName"><a href="index.html">MikroNode</a></h3>
<div class="search">
<input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
</div>
<ul class="list">
<li class="item" data-name="mikronode-ng">
<span class="title">
<a href="mikronode-ng.html">mikronode-ng</a>
<span class="static">static</span>
</span>
<ul class="members itemMembers">
</ul>
<ul class="typedefs itemMembers">
</ul>
<ul class="methods itemMembers">
<span class="subtitle">Methods</span>
<li data-name="mikronode-ng.getConnection"><a href="mikronode-ng.html#.getConnection">getConnection</a></li>
<li data-name="mikronode-ng.parseItems"><a href="mikronode-ng.html#.parseItems">parseItems</a></li>
</ul>
<ul class="events itemMembers">
</ul>
</li>
<li class="item" data-name="mikronode-ng.Channel">
<span class="title">
<a href="mikronode-ng.Channel.html">mikronode-ng.Channel</a>
</span>
<ul class="members itemMembers">
<span class="subtitle">Members</span>
<li data-name="mikronode-ng.Channel#clearEvents"><a href="mikronode-ng.Channel.html#clearEvents">clearEvents</a></li>
<li data-name="mikronode-ng.Channel#closed"><a href="mikronode-ng.Channel.html#closed">closed</a></li>
<li data-name="mikronode-ng.Channel#closeOnDone"><a href="mikronode-ng.Channel.html#closeOnDone">closeOnDone</a></li>
<li data-name="mikronode-ng.Channel#closing"><a href="mikronode-ng.Channel.html#closing">closing</a></li>
<li data-name="mikronode-ng.Channel#id"><a href="mikronode-ng.Channel.html#id">id</a></li>
<li data-name="mikronode-ng.Channel#lastCommand"><a href="mikronode-ng.Channel.html#lastCommand">lastCommand</a></li>
<li data-name="mikronode-ng.Channel#running"><a href="mikronode-ng.Channel.html#running">running</a></li>
<li data-name="mikronode-ng.Channel#saveBuffer"><a href="mikronode-ng.Channel.html#saveBuffer">saveBuffer</a></li>
</ul>
<ul class="typedefs itemMembers">
<span class="subtitle">Typedefs</span>
<li data-name="mikronode-ng.Channel.writeCallback"><a href="mikronode-ng.Channel.html#.writeCallback">writeCallback</a></li>
</ul>
<ul class="methods itemMembers">
<span class="subtitle">Methods</span>
<li data-name="mikronode-ng.Channel#close"><a href="mikronode-ng.Channel.html#close">close</a></li>
<li data-name="mikronode-ng.Channel#finalize"><a href="mikronode-ng.Channel.html#finalize">finalize</a></li>
<li data-name="mikronode-ng.Channel#write"><a href="mikronode-ng.Channel.html#write">write</a></li>
</ul>
<ul class="events itemMembers">
<span class="subtitle">Events</span>
<li data-name="mikronode-ng.Channel#event:close"><a href="mikronode-ng.Channel.html#event:event:close">event:close</a></li>
<li data-name="mikronode-ng.Channel#event:done"><a href="mikronode-ng.Channel.html#event:event:done">event:done</a></li>
<li data-name="mikronode-ng.Channel#event:error"><a href="mikronode-ng.Channel.html#event:event:error">event:error</a></li>
<li data-name="mikronode-ng.Channel#event:timeout"><a href="mikronode-ng.Channel.html#event:event:timeout">event:timeout</a></li>
<li data-name="mikronode-ng.Channel#event:trap"><a href="mikronode-ng.Channel.html#event:event:trap">event:trap</a></li>
</ul>
</li>
<li class="item" data-name="mikronode-ng.Connection">
<span class="title">
<a href="mikronode-ng.Connection.html">mikronode-ng.Connection</a>
</span>
<ul class="members itemMembers">
<span class="subtitle">Members</span>
<li data-name="mikronode-ng.Connection#channels"><a href="mikronode-ng.Connection.html#channels">channels</a></li>
<li data-name="mikronode-ng.Connection#closeOnDone"><a href="mikronode-ng.Connection.html#closeOnDone">closeOnDone</a></li>
<li data-name="mikronode-ng.Connection#host"><a href="mikronode-ng.Connection.html#host">host</a></li>
<li data-name="mikronode-ng.Connection#password"><a href="mikronode-ng.Connection.html#password">password</a></li>
<li data-name="mikronode-ng.Connection#port"><a href="mikronode-ng.Connection.html#port">port</a></li>
<li data-name="mikronode-ng.Connection#status"><a href="mikronode-ng.Connection.html#status">status</a></li>
<li data-name="mikronode-ng.Connection#timeout"><a href="mikronode-ng.Connection.html#timeout">timeout</a></li>
<li data-name="mikronode-ng.Connection#tls"><a href="mikronode-ng.Connection.html#tls">tls</a></li>
<li data-name="mikronode-ng.Connection#user"><a href="mikronode-ng.Connection.html#user">user</a></li>
</ul>
<ul class="typedefs itemMembers">
<span class="subtitle">Typedefs</span>
<li data-name="mikronode-ng.Connection.connectCallback"><a href="mikronode-ng.Connection.html#.connectCallback">connectCallback</a></li>
</ul>
<ul class="methods itemMembers">
<span class="subtitle">Methods</span>
<li data-name="mikronode-ng.Connection.parseItems"><a href="mikronode-ng.Connection.html#.parseItems">parseItems</a></li>
<li data-name="mikronode-ng.Connection#closeChannel"><a href="mikronode-ng.Connection.html#closeChannel">closeChannel</a></li>
<li data-name="mikronode-ng.Connection#connect"><a href="mikronode-ng.Connection.html#connect">connect</a></li>
<li data-name="mikronode-ng.Connection#getChannel"><a href="mikronode-ng.Connection.html#getChannel">getChannel</a></li>
<li data-name="mikronode-ng.Connection#getCommandPromise"><a href="mikronode-ng.Connection.html#getCommandPromise">getCommandPromise</a></li>
<li data-name="mikronode-ng.Connection#getConnectPromise"><a href="mikronode-ng.Connection.html#getConnectPromise">getConnectPromise</a></li>
<li data-name="mikronode-ng.Connection#openChannel"><a href="mikronode-ng.Connection.html#openChannel">openChannel</a></li>
</ul>
<ul class="events itemMembers">
<span class="subtitle">Events</span>
<li data-name="mikronode-ng.Connection#event:close"><a href="mikronode-ng.Connection.html#event:event:close">event:close</a></li>
<li data-name="mikronode-ng.Connection#event:error"><a href="mikronode-ng.Connection.html#event:event:error">event:error</a></li>
<li data-name="mikronode-ng.Connection#event:timeout"><a href="mikronode-ng.Connection.html#event:event:timeout">event:timeout</a></li>
<li data-name="mikronode-ng.Connection#event:trap"><a href="mikronode-ng.Connection.html#event:event:trap">event:trap</a></li>
</ul>
</li>
<li class="item" data-name="mikronode-ng.Trap">
<span class="title">
<a href="mikronode-ng.Trap.html">mikronode-ng.Trap</a>
</span>
<ul class="members itemMembers">
<span class="subtitle">Members</span>
<li data-name="mikronode-ng.Trap#channel"><a href="mikronode-ng.Trap.html#channel">channel</a></li>
<li data-name="mikronode-ng.Trap#channelId"><a href="mikronode-ng.Trap.html#channelId">channelId</a></li>
<li data-name="mikronode-ng.Trap#errors"><a href="mikronode-ng.Trap.html#errors">errors</a></li>
</ul>
<ul class="typedefs itemMembers">
</ul>
<ul class="methods itemMembers">
</ul>
<ul class="events itemMembers">
</ul>
</li>
<li class="item" data-name="mikronode-ng.TrapError">
<span class="title">
<a href="mikronode-ng.TrapError.html">mikronode-ng.TrapError</a>
</span>
<ul class="members itemMembers">
<span class="subtitle">Members</span>
<li data-name="mikronode-ng.TrapError#category"><a href="mikronode-ng.TrapError.html#category">category</a></li>
<li data-name="mikronode-ng.TrapError#message"><a href="mikronode-ng.TrapError.html#message">message</a></li>
</ul>
<ul class="typedefs itemMembers">
</ul>
<ul class="methods itemMembers">
</ul>
<ul class="events itemMembers">
</ul>
</li>
</ul>
</div>
<div class="main">
<h1 class="page-title" data-filename="mikronode-ng.html">Namespace: mikronode-ng</h1>
<section>
<header>
<h2>
mikronode-ng
</h2>
</header>
<article>
<div class="container-overview">
<div class="description"><p>MikroNode</p></div>
<dl class="details">
</dl>
</div>
<h3 class="subsection-title">Classes</h3>
<dl>
<dt><a href="mikronode-ng.Channel.html">Channel</a></dt>
<dd></dd>
<dt><a href="mikronode-ng.Connection.html">Connection</a></dt>
<dd></dd>
<dt><a href="mikronode-ng.Trap.html">Trap</a></dt>
<dd></dd>
<dt><a href="mikronode-ng.TrapError.html">TrapError</a></dt>
<dd></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<div class="nameContainer">
<h4 class="name" id=".getConnection">
<span class="type-signature static">static</span>mikronode-ng.getConnection<span class="signature">(host, user, password, <span class="optional">options</span>)</span>
</h4>
<div class="tag-source">
<a href="index.js.html">index.js</a>, <a href="index.js.html#line72">line 72</a>
</div>
</div>
</dt>
<dd>
<div class="description">
<p>Creates or returns a Connection object.</p>
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>host</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<p>The host name or ip address</p></td>
</tr>
<tr>
<td class="name"><code>user</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<p>The user name</p></td>
</tr>
<tr>
<td class="name"><code>password</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<p>The users password</p></td>
</tr>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="description last">
<span class="optional">optional</span>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>port</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="default">
8728
</td>
<td class="description last">
<span class="optional">optional</span>
<p>Sets the port if not the standard 8728 (8729 for<br> TLS).</p></td>
</tr>
<tr>
<td class="name"><code>closeOnDone</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="default">
false
</td>
<td class="description last">
<span class="optional">optional</span>
<p>If set, when the last channel closes,<br> the connection will automatically close.</p></td>
</tr>
<tr>
<td class="name"><code>timeout</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="default">
0
</td>
<td class="description last">
<span class="optional">optional</span>
<p>Sets the socket inactivity timeout. A timeout<br> does not necessarily mean that an error has occurred, especially if you're<br> only listening for events.</p></td>
</tr>
<tr>
<td class="name"><code>closeOnTimeout</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="default">
false
</td>
<td class="description last">
<span class="optional">optional</span>
<p>If set, when a socket timeout happens<br> the connection will automatically close.</p></td>
</tr>
<tr>
<td class="name"><code>tls</code></td>
<td class="type">
<span class="param-type">object</span>
|
<span class="param-type">boolean</span>
</td>
<td class="default">
</td>
<td class="description last">
<span class="optional">optional</span>
<p>Set to true to use TLS for this connection.<br> Set to an object to use TLS and pass the object to tls.connect as the tls<br> options. If your device uses self-signed certificates, you'll either have to<br> set 'rejectUnauthorized : false' or supply the proper CA certificate. See the<br> options for<br> <a href="https://nodejs.org/api/tls.html#tls_tls_connect_port_host_options_callback">tls.connect()</a><br> for more info.</p></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Fires:</h5>
<ul>
<li><a href="mikronode-ng.Connection.html#event:event:trap">mikronode-ng.Connection#event:trap</a></li>
<li><a href="mikronode-ng.Connection.html#event:event:error">mikronode-ng.Connection#event:error</a></li>
<li><a href="mikronode-ng.Connection.html#event:event:timeout">mikronode-ng.Connection#event:timeout</a></li>
<li><a href="mikronode-ng.Connection.html#event:event:close">mikronode-ng.Connection#event:close</a></li>
</ul>
<h5>Throws:</h5>
<div class="param-desc">
<p><strong>WARNING: If you do not listen for 'error' or 'timeout' events and one<br> occurrs during the initial connection (host unreachable, connection refused,<br> etc.), an "Unhandled 'error' event" exception will be thrown.</strong></p>
</div>
<h5>Example</h5>
<pre class="prettyprint">
var MikroNode = require('mikronode-ng');
var connection = MikroNode.getConnection('192.168.88.1', 'admin', 'mypassword', {
timeout : 4,
closeOnDone : true,
closeOnTimeout : true,
});
connection.on('error', function(err) {
console.error('Error: ', err);
});
</pre>
</dd>
<dt>
<div class="nameContainer">
<h4 class="name" id=".parseItems">
<span class="type-signature static">static</span>mikronode-ng.parseItems<span class="signature">(data)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.<object>}</span>
</h4>
<div class="tag-source">
<a href="index.js.html">index.js</a>, <a href="index.js.html#line84">line 84</a>
</div>
</div>
</dt>
<dd>
<div class="description">
<p>Parse !re return records into an array of objects</p>
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
<span class="param-type">Array.<string></span>
</td>
<td class="description last">
<p>The data[] returned from Channel.on('done')</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
Array of objects</li>
</ul>
<br />
</dd>
</dl>
</article>
</section>
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.0</a> on Wed Jul 06 2016 06:45:18 GMT-0600 (MDT)
</footer>
</div>
</div>
<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
<script src="scripts/main.js"></script>
</body>
</html>