examples: add a Lua example showing basic NetworkManager information
authorJiří Klimeš <jklimes@redhat.com>
Mon, 2 Feb 2015 16:55:59 +0000 (17:55 +0100)
committerJiří Klimeš <jklimes@redhat.com>
Mon, 9 Feb 2015 09:11:18 +0000 (10:11 +0100)
examples/lua/lgi/Makefile.am
examples/lua/lgi/get-basic-nm-info.lua [new file with mode: 0755]

index 6a3d068..096061a 100644 (file)
@@ -2,4 +2,5 @@ EXTRA_DIST = \
        add-connection.lua \
        list-connections.lua \
        list-devices.lua \
-       show-wifi-networks.lua
+       show-wifi-networks.lua \
+       get-basic-nm-info.lua
diff --git a/examples/lua/lgi/get-basic-nm-info.lua b/examples/lua/lgi/get-basic-nm-info.lua
new file mode 100755 (executable)
index 0000000..fe3c3ea
--- /dev/null
@@ -0,0 +1,51 @@
+#!/usr/bin/env lua
+-- -*- Mode: Lua; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+-- vim: ft=lua ts=2 sts=2 sw=2 et ai
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 2 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License along
+-- with this program; if not, write to the Free Software Foundation, Inc.,
+-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+--
+-- Copyright 2015 Red Hat, Inc.
+--
+--
+-- This example gets basic information about NetworkManager.
+-- The example uses libnm library using GObject introspection via Lua lgi module.
+-- Most distribution ship the module as lua-lgi package.
+-- libnm guide:   https://developer.gnome.org/libnm/1.0/
+-- Lua-lgi guide: https://github.com/pavouk/lgi/blob/master/docs/guide.md
+--
+
+local lgi = require 'lgi'
+local NM = lgi.NM
+
+---------------------------
+-- Main code starts here --
+---------------------------
+-- get client object
+client = NM.Client.new()
+
+print("Basic NM properties:")
+print("====================")
+print("NM version:          ", client.version)
+print("NM state:            ", client.state)
+print("NM startup:          ", client.startup)
+print("Networking enabled:  ", client.networking_enabled)
+print("Wireless enabled:    ", client.wireless_enabled)
+print("Wireless HW enabled: ", client.wireless_hardware_enabled)
+print("WWAN enabled:        ", client.wwan_enabled)
+print("WWAN HW enabled:     ", client.wwan_hardware_enabled)
+print("# devices:           ", #client.devices)
+print("# connections:       ", #client.connections)
+print("# active connections:", #client.active_connections)
+