Giter VIP home page Giter VIP logo

osjs-wireless-tools-provider's Introduction

OS.js Logo

OS.js is an open-source web desktop platform with a window manager, application APIs, GUI toolkit, filesystem abstractions and much more.

Support Support Donate Donate Community

OS.js wireless-tools Service Provider

This provider simply binds https://github.com/bakerface/wireless-tools to the internal API.

Installation

npm install @osjs/wireless-tools-provider

In your initialization scripts:

// Client index.js file
import {WirelessToolsServiceProvider} from '@osjs/wireless-tools-provider';
osjs.register(WirelessToolsServiceProvider);

// Server index.js file
const {WirelessToolsServiceProvider} = require('@osjs/wireless-tools-provider/src/server.js');
osjs.register(WirelessToolsServiceProvider);

Configuration

By default the server provider is set up to only allow users with the admin group to access this feature.

You can change this by adding options:

const {WirelessToolsServiceProvider} = require('@osjs/wireless-tools-provider/src/server.js');
osjs.register(WirelessToolsServiceProvider, {
  args: {
    groups: ['other-group']
  }
});

API

Simply use core.make('osjs/wireless-tools').call('namespace', 'method', ...args) and you will get a Promise<any, Error>.

You can also add subscriptions for these calls over websockets so that you get data on a regular interval:

// Subscribe
core.make('osjs/wireless-tools')
  .subscribe('ifconfig', 'status')
  .then(subscription => {
    // Attach a callback to get data when server pushes it out
    subscription.bind(data => {
      console.log(data)
    });

    // Unsubscribe when you're done
    subscription.unsubscribe();
  });

You can see namespaces, method names and the return data in the wireless-tools documentation.

Features

  • Uses 1:1 function signatures (except promise instead of callback)
  • Support for subscriptions over websocket
  • Wifi connection settings via tray icon

TODO

  • Finish wifi tray icon
  • Add support for custom intervals on subscriptions
  • Add support for subscription emit only when data has changed

Contribution

Documentation

See the Official Manuals for articles, tutorials and guides.

Links

osjs-wireless-tools-provider's People

Contributors

andersevenrud avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

ostosh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.