• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/netifd/examples/main.uc

  1 import * as uci from "uci";
  2 import * as uloop from "uloop";
  3 import * as libubus from "ubus";
  4 import { access, dirname } from "fs";
  5 
  6 function ex_handler(e)
  7 {
  8         netifd.log(netifd.L_WARNING, `Exception: ${e}\n${e.stacktrace[0].context}\n`);
  9 }
 10 
 11 uloop.guard(ex_handler);
 12 libubus.guard(ex_handler);
 13 
 14 let ubus = netifd.ubus = libubus.connect();
 15 let wireless;
 16 
 17 function uci_ctx()
 18 {
 19         let savedir = netifd.dummy_mode ? "./tmp" : null;
 20         let ctx = uci.cursor(netifd.config_path, savedir, null, {
 21                 strict: false
 22         });
 23         return ctx;
 24 }
 25 
 26 function config_init()
 27 {
 28         let ctx = uci_ctx();
 29 
 30         if (wireless)
 31                 wireless.config_init(ctx);
 32 }
 33 
 34 function config_start()
 35 {
 36         if (wireless)
 37                 wireless.config_start();
 38 }
 39 
 40 function check_interfaces()
 41 {
 42         if (wireless)
 43                 wireless.check_interfaces();
 44 }
 45 
 46 function hotplug(name, add)
 47 {
 48         if (wireless)
 49                 wireless.hotplug(name, add);
 50 }
 51 
 52 function ex_wrap(cb)
 53 {
 54         let fn = cb;
 55         return (...args) => {
 56                 try {
 57                         return fn(...args);
 58                 } catch (e) {
 59                         netifd.log(netifd.L_WARNING, `${e}\n${e.stacktrace[0].context}`);
 60                 }
 61         };
 62 }
 63 
 64 netifd.cb = {
 65         hotplug: ex_wrap(hotplug),
 66         config_init: ex_wrap(config_init),
 67         config_start: ex_wrap(config_start),
 68         check_interfaces: ex_wrap(check_interfaces),
 69 };
 70 
 71 const wireless_module = dirname(sourcepath()) + "/wireless.uc";
 72 if (access(wireless_module, "r")) {
 73         try {
 74                 wireless = loadfile(wireless_module)();
 75         } catch (e) {
 76                 netifd.log(netifd.L_WARNING, `Error loading wireless module: ${e}\n${e.stacktrace[0].context}\n`);
 77         }
 78 } else {
 79         netifd.log(netifd.L_WARNING, `Wireless module not found\n`);
 80 }

This page was automatically generated by LXR 0.3.1.  •  OpenWrt