{"_id":"node-dbus","_rev":"21-e9d6a6d2a11d4051d7c978c9a154a23a","name":"node-dbus","description":"A minimal node based wrapper over libdbus","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"node-dbus","description":"A minimal node based wrapper over libdbus","version":"0.1.0","author":{"name":"Motorola Mobility, Inc."},"maintainers":[{"name":"pierrefrisch","email":"pierre.frisch@motorola.com"}],"repository":{"type":"git","url":"git://github.com/Motorola-Mobility/node-dbus.git"},"engines":["node >= 0.5.1"],"scripts":{"install":"node-waf configure build install"},"main":"dbus.js","_npmUser":{"name":"pierrefrisch","email":"pierre.frisch@motorola.com"},"_id":"node-dbus@0.1.0","dependencies":{},"devDependencies":{},"_engineSupported":false,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"c41286e889f46a9ee3632e78e1f7843da467103f","tarball":"https://registry.npmjs.org/node-dbus/-/node-dbus-0.1.0.tgz","integrity":"sha512-HPpRDq2HjJ2OfeFoTSS+dghOagZBmNit0QurWBch2Bi3g4nLrPD0j/vXZ0iM3tfh3DvjYGaYi0vNmXsJgw06IA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkl8g2z6N7XmaURSzXSj4vCkSn2TMbd0MvHfFHUTZ0hgIgIIU8EPLstOX0sz7TyepTaxFJp2d1SbUaPutbie/nwa8="}]},"directories":{}},"0.1.1":{"name":"node-dbus","description":"A minimal node based wrapper over libdbus","version":"0.1.1","author":{"name":"Motorola Mobility, Inc."},"maintainers":[{"name":"arpv","email":"ankur.verma@motorola.com"},{"name":"pierrefrisch","email":"pierre@declarativ.com"}],"repository":{"type":"git","url":"http://github.com/Motorola-Mobility/node-dbus.git"},"engines":["node >= 0.5.1"],"scripts":{"install":"node-waf configure build"},"main":"dbus.js","_id":"node-dbus@0.1.1","dist":{"shasum":"9af80c45f1ab446f57c1e677fa614dff3668d00d","tarball":"https://registry.npmjs.org/node-dbus/-/node-dbus-0.1.1.tgz","integrity":"sha512-CrZk5xDxz4YXKnGSVWdWmUjGGWs4fSLT3EH7d+RWeWOW8/nlAPxDPfkr0C8eqtpm9S10/HUjgu3lvN+t/pjgww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGBYkhIN2EtfLK0AkUVUEYJRuhhGKwASqhgjVXtKFfZBAiBrXCz17Ia/PRtv8BNGoDj3WgXuk8ZYYqQw0s17AxO5iQ=="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"arpv","email":"ankur.verma@motorola.com"}},"0.1.2":{"name":"node-dbus","description":"A minimal node based wrapper over libdbus","version":"0.1.2","author":{"name":"Motorola Mobility, Inc."},"maintainers":[{"name":"arpv","email":"ankur.verma@motorola.com"},{"name":"pierrefrisch","email":"pierre@declarativ.com"}],"repository":{"type":"git","url":"http://github.com/Motorola-Mobility/node-dbus.git"},"engines":["node >= 0.8.0"],"scripts":{"install":"node-waf configure build"},"main":"dbus.js","_id":"node-dbus@0.1.2","dist":{"shasum":"7452d6a3b423cdd1632d4325c1f818247313068c","tarball":"https://registry.npmjs.org/node-dbus/-/node-dbus-0.1.2.tgz","integrity":"sha512-ZoiquTgE5XT3EmoyAoxKNBXXCpeP4vWYU0k4lbHhvV+Z/E45MgnQhyCQ03z7X11P6TgOqBp79CebJYZ/nVmtjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBS67FDnrCI11hpPDVEKMfYZnXLSQb/j9r9OsVTq/RWvAiAnrPyZHh5RLb10ArDLOFLdEYzmLIElykaFDvkYA7H+8Q=="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"arpv","email":"ankur.verma@motorola.com"}},"0.1.3":{"name":"node-dbus","description":"A minimal node based wrapper over libdbus","version":"0.1.3","author":{"name":"Motorola Mobility, Inc."},"maintainers":[{"name":"arpv","email":"ankur.verma@motorola.com"},{"name":"pierrefrisch","email":"pierre@declarativ.com"}],"repository":{"type":"git","url":"http://github.com/Motorola-Mobility/node-dbus.git"},"engines":["node >= 0.8.0"],"main":"dbus.js","scripts":{"install":"node-gyp rebuild"},"gypfile":true,"_id":"node-dbus@0.1.3","dist":{"shasum":"38a5888ae15d646741233d1697add005524568c1","tarball":"https://registry.npmjs.org/node-dbus/-/node-dbus-0.1.3.tgz","integrity":"sha512-U6CDyuNZKbyQU6V7qLyuYFPy+TVic5o+LZYNLBfPl4dPHJpWb5k8PVHGh1VcLZo9G56JeaaVIhPCjtbB2MTUkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+DKfVUKgiTiZ/yeEYOD69tk2D3TdfIDjeE1hzuhv/OAIhAMULNOPqaMYW9a6nnHdKxMlNqJqijCLLtQPxeSN5ad/B"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"arpv","email":"ankurv2@gmail.com"}},"0.1.4":{"name":"node-dbus","description":"A minimal node based wrapper over libdbus","version":"0.1.4","author":{"name":"Motorola Mobility, Inc."},"maintainers":[{"name":"arpv","email":"ankur.verma@motorola.com"},{"name":"pierrefrisch","email":"pierre@declarativ.com"}],"repository":{"type":"git","url":"git+https://github.com/arpv/node-dbus.git"},"engines":["node >= 0.8.0"],"main":"dbus.js","scripts":{"install":"node-gyp rebuild"},"gypfile":true,"gitHead":"cfb968dc0f74deff51afa20ed85b287b9c289130","bugs":{"url":"https://github.com/arpv/node-dbus/issues"},"homepage":"https://github.com/arpv/node-dbus#readme","_id":"node-dbus@0.1.4","_shasum":"951c674ecc409c4176f873b815ae1ef45b5bf8e1","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"arpv","email":"ankurv2@gmail.com"},"dist":{"shasum":"951c674ecc409c4176f873b815ae1ef45b5bf8e1","tarball":"https://registry.npmjs.org/node-dbus/-/node-dbus-0.1.4.tgz","integrity":"sha512-RSV6D39acdhWXMlIlC+DELBkxQ0Lr+F2Eg2SfpGmWyDQpBbOdwx73KjCpSTurXUHPRh/ldbZgzgVegny3iTNrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBOmP8vvAlhgFDjtR22LmwLsS/5m6uugHtJnV44w76hCAiARhWMH6eAe0dPs7fNrpQMGetuNgt7RxSL8uRIUjSFChQ=="}]}}},"readme":"Node-DBus\n===============\n\nThe node-dbus project is a simple light-weight [NodeJS][] based wrapper over\nsome [libdbus][] api's which enables the developer to:\n\n* perform synchronous method-calls on a service provider\n* perform asynchronous method-calls on a service provider\n* send signals on the message bus\n* listen to signals propogated over the message bus\n\nNote that it is not intended to be a full-blown one-to-one mapping\nof the libdbus api. For that, you might want to look at [node-libdbus][]\nwhich is relatively concrete.\n\nNode-dbus provides a convinient Javascript object **DBusMessage**\nwhich is used to perform the afore-mentioned chores with some restrictions\nas mentioned under the relevant api description.\n\nIt has currently been tested only on the 32-bit [Ubuntu Lucid Lynx][LL] and\n64-bit [Fedora15][F15] GNOME releases and thus should be good for other distros too.\n\nLicense: BSD\n===============\n\nCopyright (c) 2011, Motorola Mobility, Inc\n\nAll Rights Reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n* Neither the name of Motorola Mobility nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nDependencies:\n===============\n\nThe list of dependencies include:\n\n* [NodeJS][] - ofcourse (&gt;= v0.8.0)\n\n  * for [NodeJS][] releases &gt;=v0.5.1 & &lt;=v0.7.9, pick branch v0.1.1\n\n* [libdbus][] - ofcourse\n\n  `apt-get install libdbus-1-dev`\n\n  or the equivalent for your distro.\n\n* [glib2.0][] - for the convinient data-structures\n\n  `apt-get install libglib2.0-dev`\n\n  or the equivalent for your distro.\n\nInstallation:\n===============\n\nIf the dependencies are met,\n\nif you have [NPM][] installed,\n\nfor [NodeJS][] releases &gt;=v0.8.0,\n\n    npm install node-dbus\n\nfor [NodeJS][] releases &gt;=v0.5.1 & &lt;=v0.7.9,\n\n    npm install node-dbus@0.1.1\n\nif you have source and [NPM][], then from the main folder\n\n    npm install .\n\notherwise from the main folder of source\n\n    node-gyp configure build\n\nDBusMessage:\n===============\n\nA generic object which represents a:\n\n* synchronous method-call message\n* asynchronous method-call message\n* a dbus signal\n\nbased on the `type` property that has been set for it.\n\nFor signals and method-calls, it provides functions to append arguments to a\nmessage, clear the appended arguments and send the message based on other\nproperties that have been set as documented further. It additionally provides\nmechanism to listen to signals (only) which are sent over the message bus.\n\nIt is an instance of nodejs' [EventEmitter][].\n\nIt can be accessed as:\n\n    var dbus = require('[path/to]node-dbus');\n\nand then inherit your object from `dbus.DBusMessage` as per your preference. For example:\n\n    var msg = Object.create(dbus.DBusMessage, {...});\n\nProperties:\n---------------\n\n**type**: &lt;Integer&gt;\n\nIndicates the type of message that will be created while sending.\nDefaults to `DBUS_MESSAGE_TYPE_INVALID`.\n\nValid values include:\n\n-   `DBUS_MESSAGE_TYPE_SIGNAL` \\- a signal to be sent over the message bus.\n-   `DBUS_MESSAGE_TYPE_METHOD_CALL` \\- a synchronous method-call to be made to a service provider.\n-   `DBUS_MESSAGE_TYPE_METHOD_RETURN` \\- an asynchronous method-call to be made to a service provider.\n\n    This sounds a bit wierd since this value actually represents an asynch reply-message\n    in [libdbus][] world, but i wanted to keep parity with libdbus constants.\n\n**bus**: &lt;Integer&gt;\n\nIndicates the type of message bus on which the message will be sent.\nDefaults to `DBUS_BUS_SYSTEM`. For using the session bus, set to `DBUS_BUS_SESSION`.\n\n**address**: &lt;String&gt;\n\nThe remote address for obtaining a shared dbus connection from the bus. See [`dbus_connection_open()`][dbuscxnopen].\nIf not specified, default `bus` address is used.\n\n**destination**: &lt;String&gt;\n\nName of the service provider that the message should be sent to.\n\nTypically used for method-calls and the filtering match-rule for signals to be listened.\n\nRefer the [D-Bus spec][] for conventions.\n\n**path**: &lt;String&gt;\n\nFor method-calls, it represents the object path the message should be sent to.\n\nWhereas for signals, it represents the path to the object emitting the signal.\n\nRefer the [D-Bus spec][] for conventions.\n\n**iface**: &lt;String&gt;\n\nFor method-calls, it is the service provider's interface to invoke the method on.\n\nFor signals, it indicates the interface the signal is emitted from.\n\nRefer the [D-Bus spec][] for conventions.\n\n**member**: &lt;String&gt;\n\nName of the signal to be sent or method to be invoked.\n\n**sender**: &lt;String&gt;\n\nIt is the unique bus name of the connection which originated the message.\n\nIn node-dbus, it is only used to construct the match-rule that is used to filter\nand listen to the signals that are passed over the message bus.\n\nRefer the [D-Bus spec][] for conventions.\n\n**timeout**: &lt;Integer&gt;\n\nUsed only for method calls. It is the timeout in milliseconds for which the method-call\nshall wait for receiving reply to the message.\n\nAn `error` event will be triggered on the message object if the method-call times-out.\n\nDefaults to -1 which indicates a sane default timeout to be used.\n\n**variantPolicy**: &lt;Integer&gt;\n\nDictates the policy to be used when a variant type code supplied to `appendArgs()` method\nis expected to contain data which is a container-type (only) such as an array or dict_entry.\n\nDefaults to `NDBUS_VARIANT_POLICY_DEFAULT` which suggests that the variant's data-signature\nwill be `a{sv}` for a dict_entry or `av` for array.\n\nIf specified as `NDBUS_VARIANT_POLICY_SIMPLE`, the variant's data-signature will contain\nthe *basic* data-type of the *first* property's value of the JS object to be appended. For\nexample, if object to be appended is `{a:int b:int}`, the data-signature shall be `a{si}`\nand so on for string's, bool's, array's and object's.\n\nMethods:\n--------------\n\n**appendArgs(&lt;String&gt; signature, &lt;Any&gt; arg1, [...])**:\n\nA DBus service provider may expect certain input arguments along with the method-call\nit has exposed. Or an application may want to attach information to a signal it sends over\nthe message bus for interested listeners. This function facilitates the process by\nattaching the information (input arguments) to the message before sending it.\n\nNote that internally, the actual appending of arguments to the message (both signals and method-calls)\nwill only happen during the `send()` method. Hence it is possible to `clearArgs()` and/or\nre-append arguments before `send()`.\n\nIt expects a data-type signature string as the first argument, which represents the\ntype of each input argument to the message payload, followed by valid input arguments\nfor the message in *EXACT* order of the types as mentioned in the signature.\n\nIf the signature is invalid or the order of input arguments does not match the signature,\nan `error` event shall be emitted on the message object indicating the error that occurred.\n\nFor details on how the signature string should look like, please refer to tbe [D-Bus spec][].\n\nExample:\n\n    //If a method-call expects input arguments OR\n    //a signal should be sent with arguments of type string and an integer\n    msg.appendArgs('si', 'stringArg', 73);\n\nIt is important to note that dictionaries (`DBUS_TYPE_DICT_ENTRY`) are represented\nas javascript objects.\n\n    //if the signature should contain a string followed by a\n    //dict entry of string and variant types\n    msg.appendArgs('sa{sv}',\n                   'Artist',\n                   {name: 'Dave Mustaine', rating: 10, awesome: true});\n\nNOTE:\n\nAs of now, only the following list of primitive data types from the [D-Bus spec][]\nare supported for `appendArgs()` :\n\nboolean, int32, uint32, int64, double, signature, object\\_path, string,\narray, dict\\_entry (dictionary), and variant.\n\n**clearArgs()**:\n\nClears any input arguments that were previously appended to the message.\n\nNOTE:\n\n- a call to `appenArgs()` with valid data will implicitly clear any previously appended args.\n- internally, the actual appending of input arguments happens during `send()`\n\n**send()**:\n\nSends the message which can either be a signal or a synch/asynch method-call\ndepending on the `type` specified, over the `bus`, taking into account the\nother appropriate properties that have been set on the message.\n\nIt will append input arguments (if any) to the message before sending.\n\nIf something goes wrong, an `error` event shall be emitted on the\nobject indicating the error occurred.\n\nFor method-calls, if a non-erroneous reply is received, the event `methodResponse`\nwill be emitted on the message object and any output arguments which are expected\nto be received from the method-call will be supplied along-with.\n\nRefer to description of `methodResponse` event for details.\n\nNOTE:\n\n- for method-calls, `destination`, `path` and `member` MUST be set\n- for signals, `path`, `iface` and `member` MUST be set\n\n**addMatch()**:\n\nUsed for listening to messages which are traveling on the message bus.\n\nIt is a wrapper over the [libdbus][] api [`dbus_bus_add_match()`][dbbus] with some restrictions\nfor performance and simplicity.\n\nRead the doc for [`dbus_bus_add_match()`][dbbus] carefully before proceeding further.\n\nIt is used for listening to signals only (at least for now; patches are welcome).\nThe match-rule for filtering the messages on the specified `bus` will be constructed\ninternally by node-dbus based on the properties `iface`, `member`, `path`, `sender`\nand `destination` of the message object.\n\n- Properties `iface` and `member` MUST be set\n- whereas `path`, `sender` and `destination` are optional based on your filtering needs.\n- Filtering based on arguments is not supported (at least for now; patches are welcome).\n\nWhen a match (filter) for a signal is successfully added, node-dbus shall hold a reference\nto the message object until it is `removeMatch()` 'ed.\n\nIf an error occurs, event `error` shall be emitted on the message object indicating the\nerror occurred.\n\nWhen a signal that is being listened to is received on the message bus,event `signalReceipt`\nshall be emitted on the message object along with the signal details and arguments (if any)\nthat were extracted from the signal.\n\nA match (filter) for a particular signal based on a particular match-rule will be added only once.\nThat is, subsequent calls to this api for the same message object will do nothing, unless you\nchange the value of any one of the properties mentioned above.\n\nIt is recommended to create and manage separate message objects for different signals which\nare to be listened so that it is easier to track them individually when they are received.\n\n**removeMatch()**:\n\nStops listening to a signal, the match filter for which was added previously with `addMatch()`.\n\nThis will also remove the reference to the message object which node-dbus held during `addMatch()`.\nRefer to the description of `addMatch()` for details.\n\nIt is a wrapper over the [libdbus][] api [`dbus_bus_remove_match()`][dbbus].\n\n- Properties `iface` and `member` MUST be set\n\nCare should be taken to make sure that values of `iface`, `member`, `path`, `destination`\nand `sender` are exactly the same as they were specified when the match (filter) was added\nfor the message object. Otherwise, the match (filter) wont be removed and an `error` event\nwill be emitted on the message object.\n\n**closeConnection()**:\n\nDepending on the specified `bus` of the message object, this function shall\n\n- remove the message filter and all signal watchers over the bus\n- destroy the underlying dbus connection\n\nEach time a `send()` or `addMatch()` is called, node-dbus automagically sets up a shared\ndbus connection, adds a message filter on the bus and sets up internal data structures,\n*IF* it has not been done before. This function will clean up all of it.\n\nThis must be used wisely, keeping in mind the fact that underneath, the actual cleanup\nshall happen on the next iteration of the event loop (see nodejs' [process.nextTick][pnt]).\n\nThus if your code does:\n\n    msg.closeConnection();\n    //Following shall not throw an error,\n    //but eventually the signal would not be listened to,\n    //as the connection will close\n    msg.addMatch();\n\nwhereas,\n\n    msg.closeConnection();\n    //Following shall work correctly,\n    //but eventually the connection will close\n    msg.send();\n\nAfter a connection has been closed, a call to `send()` or `addMatch()` on a subsequent\niteration of the event loop, shall automatically set it up again.\n\nNOTE:\n\nNode-dbus sets up one connection each for a session and the system bus depending on the `bus`\nof the message object. This connection is shared between all message objects that are created.\nThus a `closeConnection()` on any one object shall suffice, where if `bus` is `DBUS_BUS_SESSION`,\nit will close the session bus and `DBUS_BUS_SYSTEM` will close the system bus.\n\nEvents:\n---------------\n\n**methodResponse**:\n\nEmitted on the message object when a reply is received from either an asynch or sync method-call.\n\nIf the reply contains valid output arguments from the method call, then these arguments will\nbe supplied to the listener. Thus, the signature of the listener depends on the order in which\nthe output arguments are expected from the method-call's reply. Or if you are unsure,\nthen you just access them via the standard `arguments` javascript object.\n\n**signalReceipt**:\n\nEmitted on the message object when a signal is received on the message bus, which was\nfiltered via the `addMatch()` call.\n\nThe first argument is always an object with signal parameters.\nIf the signal contains valid data arguments, then those will be supplied to the listener.\nThus, the signature of the listener depends on the order in which the data arguments are\nexpected from the signal. Or if you are unsure, then you just access them via the\nstandard `arguments` javascript object.\n\n**NOTE**:\n\nAs of now, for both `methodResponse` and `signalReceipt`, only the following list of\nprimitive data types from the [D-Bus spec][] will be extracted as arguments and\nsupplied to listener:\n\nboolean, byte (uint8), uint16, uint32, uint64, int16, int32, int64, double,\nsignature, object\\_path, string, struct, array, dict\\_entry (dictionary)\nand variant (which wraps one of the previous types)\n\n*Some of the uncommon types like byte have NOT yet been tested and hence good luck!*\n\n**error**:\n\nThe error event is emitted when something goes wrong during any of the operations\non the message object.\n\nIt may have been trigerred due to something as trivial as an invalid property\nthat was set on the object or an error response received from the daemon.\n\nAn error object shall be received in the listener which maps closely to the\nDBusError format of the [libdbus][] world, where-in the object shall contain\n\n- `name` &lt;String&gt;, which represents the error name as defined under\n  the dbus protocol contants in libdbus. For example: `DBUS_ERROR_FAILED`\n- `message` &lt;String&gt;, which describes the error in detail.\n\nCONSTANTS:\n---------------\n\nThe following list of constants are available for use and are directly exported from [libdbus][].\nThey can be accessed as properties on the exported object from dbus.js\n\n    var dbus = require('[path/to]dbus');\n\nFor property `bus` of the message object,\n\n- `dbus.DBUS_BUS_SESSION` = 0\n  - Indicates use of the session bus.\n- `dbus.DBUS_BUS_SYSTEM` = 1\n  - Indicates use of the system bus. It is the default value.\n\nFor property `type` of the message object,\n\n- `dbus.DBUS_MESSAGE_TYPE_INVALID` = 0\n  - Represents an invalid message. It is the default value.\n- `dbus.DBUS_MESSAGE_TYPE_METHOD_CALL` = 1\n  - Indicates a synchronous method-call is intended.\n- `dbus.DBUS_MESSAGE_TYPE_METHOD_RETURN` = 2\n  - Indicates an asynchronous method-call is intended.\n- `dbus.DBUS_MESSAGE_TYPE_ERROR` = 3\n  - Currently un-used. Dont use it.\n- `dbus.DBUS_MESSAGE_TYPE_SIGNAL` = 4\n  - Indicates that a signal is intended to be sent or listened.\n\nFor property `variantPolicy` of the message object,\n\n- `dbus.NDBUS_VARIANT_POLICY_DEFAULT` = 0\n  - Refer to `variantPolicy` property description.\n- `dbus.NDBUS_VARIANT_POLICY_SIMPLE` = 1\n  - Refer to `variantPolicy` property description.\n\nAdditionally,\n\n- `dbus.DBUS_SERVICE_DBUS` = 'org.freedesktop.DBus'\n- `dbus.DBUS_PATH_DBUS` = '/org/freedesktop/DBus'\n- `dbus.DBUS_PATH_LOCAL` = '/org/freedesktop/DBus/Local'\n- `dbus.DBUS_INTERFACE_DBUS` = 'org.freedesktop.DBus'\n- `dbus.DBUS_INTERFACE_LOCAL` = 'org.freedesktop.DBus.Local'\n- `dbus.DBUS_INTERFACE_INTROSPECTABLE` = 'org.freedesktop.DBus.Introspectable'\n- `dbus.DBUS_INTERFACE_PROPERTIES` = 'org.freedesktop.DBus.Properties'\n- `dbus.DBUS_INTERFACE_PEER` = 'org.freedesktop.DBus.Peer'\n\nand error `name` 's,\n\n- `dbus.DBUS_ERROR_FAILED` = 'org.freedesktop.DBus.Error.Failed'\n- `dbus.DBUS_ERROR_NO_MEMORY` = 'org.freedesktop.DBus.Error.NoMemory'\n- `dbus.DBUS_ERROR_SERVICE_UNKNOWN` =  'org.freedesktop.DBus.Error.ServiceUnknown'\n- `dbus.DBUS_ERROR_NAME_HAS_NO_OWNER` = 'org.freedesktop.DBus.Error.NameHasNoOwner'\n- `dbus.DBUS_ERROR_NO_REPLY` = 'org.freedesktop.DBus.Error.NoReply'\n- `dbus.DBUS_ERROR_IO_ERROR` = 'org.freedesktop.DBus.Error.IOError'\n- `dbus.DBUS_ERROR_BAD_ADDRESS` = 'org.freedesktop.DBus.Error.BadAddress'\n- `dbus.DBUS_ERROR_NOT_SUPPORTED` = 'org.freedesktop.DBus.Error.NotSupported'\n- `dbus.DBUS_ERROR_LIMITS_EXCEEDED` = 'org.freedesktop.DBus.Error.LimitsExceeded'\n- `dbus.DBUS_ERROR_ACCESS_DENIED` = 'org.freedesktop.DBus.Error.AccessDenied'\n- `dbus.DBUS_ERROR_AUTH_FAILED` = 'org.freedesktop.DBus.Error.AuthFailed'\n- `dbus.DBUS_ERROR_NO_SERVER` = 'org.freedesktop.DBus.Error.NoServer'\n- `dbus.DBUS_ERROR_TIMEOUT` = 'org.freedesktop.DBus.Error.Timeout'\n- `dbus.DBUS_ERROR_NO_NETWORK` = 'org.freedesktop.DBus.Error.NoNetwork'\n- `dbus.DBUS_ERROR_ADDRESS_IN_USE` = 'org.freedesktop.DBus.Error.AddressInUse'\n- `dbus.DBUS_ERROR_DISCONNECTED` = 'org.freedesktop.DBus.Error.Disconnected'\n- `dbus.DBUS_ERROR_INVALID_ARGS` = 'org.freedesktop.DBus.Error.InvalidArgs'\n- `dbus.DBUS_ERROR_FILE_NOT_FOUND` = 'org.freedesktop.DBus.Error.FileNotFound'\n- `dbus.DBUS_ERROR_FILE_EXISTS` = 'org.freedesktop.DBus.Error.FileExists'\n- `dbus.DBUS_ERROR_UNKNOWN_METHOD` = 'org.freedesktop.DBus.Error.UnknownMethod'\n- `dbus.DBUS_ERROR_TIMED_OUT` = 'org.freedesktop.DBus.Error.TimedOut'\n- `dbus.DBUS_ERROR_MATCH_RULE_NOT_FOUND` = 'org.freedesktop.DBus.Error.MatchRuleNotFound'\n- `dbus.DBUS_ERROR_MATCH_RULE_INVALID` = 'org.freedesktop.DBus.Error.MatchRuleInvalid'\n- `dbus.DBUS_ERROR_SPAWN_EXEC_FAILED` = 'org.freedesktop.DBus.Error.Spawn.ExecFailed'\n- `dbus.DBUS_ERROR_SPAWN_FORK_FAILED` = 'org.freedesktop.DBus.Error.Spawn.ForkFailed'\n- `dbus.DBUS_ERROR_SPAWN_CHILD_EXITED` = 'org.freedesktop.DBus.Error.Spawn.ChildExited'\n- `dbus.DBUS_ERROR_SPAWN_CHILD_SIGNALED` = 'org.freedesktop.DBus.Error.Spawn.ChildSignaled'\n- `dbus.DBUS_ERROR_SPAWN_FAILED` = 'org.freedesktop.DBus.Error.Spawn.Failed'\n- `dbus.DBUS_ERROR_SPAWN_SETUP_FAILED` = 'org.freedesktop.DBus.Error.Spawn.FailedToSetup'\n- `dbus.DBUS_ERROR_SPAWN_CONFIG_INVALID` = 'org.freedesktop.DBus.Error.Spawn.ConfigInvalid'\n- `dbus.DBUS_ERROR_SPAWN_SERVICE_INVALID` = 'org.freedesktop.DBus.Error.Spawn.ServiceNotValid'\n- `dbus.DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND` = 'org.freedesktop.DBus.Error.Spawn.ServiceNotFound'\n- `dbus.DBUS_ERROR_SPAWN_PERMISSIONS_INVALID` = 'org.freedesktop.DBus.Error.Spawn.PermissionsInvalid'\n- `dbus.DBUS_ERROR_SPAWN_FILE_INVALID` = 'org.freedesktop.DBus.Error.Spawn.FileInvalid'\n- `dbus.DBUS_ERROR_SPAWN_NO_MEMORY` = 'org.freedesktop.DBus.Error.Spawn.NoMemory'\n- `dbus.DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN` = 'org.freedesktop.DBus.Error.UnixProcessIdUnknown'\n- `dbus.DBUS_ERROR_INVALID_SIGNATURE` = 'org.freedesktop.DBus.Error.InvalidSignature'\n- `dbus.DBUS_ERROR_INVALID_FILE_CONTENT` = 'org.freedesktop.DBus.Error.InvalidFileContent'\n- `dbus.DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN` = 'org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown'\n- `dbus.DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN` = 'org.freedesktop.DBus.Error.AdtAuditDataUnknown'\n- `dbus.DBUS_ERROR_OBJECT_PATH_IN_USE` = 'org.freedesktop.DBus.Error.ObjectPathInUse'\n\n[NodeJS]: http://nodejs.org/\n[libdbus]: http://dbus.freedesktop.org/doc/api/html/index.html\n[node-libdbus]: https://github.com/agnat/node_libdbus\n[LL]: http://releases.ubuntu.com/lucid/\n[F15]: http://fedoraproject.org/en/get-fedora-options\n[glib2.0]: http://developer.gnome.org/glib/\n[NPM]: http://npmjs.org/\n[EventEmitter]: http://nodejs.org/docs/v0.4.7/api/events.html\n[D-Bus spec]: http://dbus.freedesktop.org/doc/dbus-specification.html\n[dbbus]: http://dbus.freedesktop.org/doc/api/html/group__DBusBus.html\n[pnt]: http://nodejs.org/docs/latest/api/process.html#process.nextTick\n[dbuscxnopen]: http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html#gacd32f819820266598c6b6847dfddaf9c\n","maintainers":[{"name":"arpv","email":"ankur.verma@motorola.com"},{"name":"pierrefrisch","email":"pierre@declarativ.com"}],"time":{"modified":"2022-06-21T13:32:01.351Z","created":"2011-12-06T23:32:56.866Z","0.1.0":"2011-12-06T23:32:58.614Z","0.1.1":"2012-12-22T04:31:17.203Z","0.1.2":"2012-12-22T04:52:11.644Z","0.1.3":"2013-05-12T10:32:01.858Z","0.1.4":"2015-05-17T08:02:21.329Z"},"author":{"name":"Motorola Mobility, Inc."},"repository":{"type":"git","url":"git+https://github.com/arpv/node-dbus.git"},"homepage":"https://github.com/arpv/node-dbus#readme","bugs":{"url":"https://github.com/arpv/node-dbus/issues"},"readmeFilename":"README.md","users":{"brandonpapworth":true,"lyriarte":true}}