commenting, cleanup
authorChristian Thaeter <ct@pipapo.org>
Sat, 2 Jan 2010 05:59:54 +0000 (06:59 +0100)
committerChristian Thaeter <ct@pipapo.org>
Sat, 2 Jan 2010 05:59:54 +0000 (06:59 +0100)
profiled.lua

index d15103d..44cd2ec 100644 (file)
@@ -1,16 +1,38 @@
+-- Profiled  -  automatic profile switcher for Maemo
+--
+--  Copyright (C)         Lumiera.org
+--    2010,               Christian Thaeter <ct@pipapo.org>
+--
+--  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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
 
-local EMPTY = {}
+-- queries contains functions for each aspect to supervise
+-- this functions return the table containing the current applicable definition
 queries = {}
 
+-- just for playing
 function queries.test()
    return { test = 'working' }
 end
 
+-- the defaults table biases voting
 function queries.defaults()
-   return defaults or EMPTY
+   return defaults
 end
 
-
+-- TODO
 -- orientation = function() end
 -- moving = function () end
 -- charging = function () end
@@ -19,12 +41,15 @@ end
 -- locked = function () end
 
 
+-- engines contains functions to alter the state of some aspect of the system
+-- this functions take a single string as parameter describing the target state
 engines = {}
 
 function engines.test(state)
    print("test state:", state)
 end
 
+--TODO
 --engines.gps(state)
 --engines.availability(state)
 --engines.profile(state)
@@ -33,20 +58,7 @@ end
 --engines.lock(state)
 --engines.wlan(state)
 
--- by location, gps must be enabled for this, gps will not be enabled for this rules, 'unknown' is special for any unknown position
-location = {
-   home = {
-      secure = 'no'
-   },
-
-   unknown = {
-      secure = 'yes',
-      celluar = 'on',
-      wlan = 'off',
-      gps = 'on'
-   }
-}
-
+-- the voting function, takes the votes table with all current votes, the key for which shall be voted and the value of its attribute
 function vote(votes, key, value)
    attr, bias = value:match("^([^+-]*)([+-]*)")
 
@@ -88,8 +100,8 @@ function mainloop()
    -- do the voting
    for name, func in pairs(queries) do
       if type(_G[name]) == 'table' then
-      print(name,func)
-         for k,v in pairs(func()) do
+
+         for k,v in pairs(func() or {}) do
             vote(votes, k, v)
          end
       end