config modifications and such
[CBFWR.git] / bin / cbfwrd.php
index 23897e1..4a9f5a5 100644 (file)
@@ -1,7 +1,9 @@
 <?php
 $CMD_ROOT_FS = realpath(dirname(__FILE__));
+$AM_DAEMON = true;
+$MOCKUP = true;
 
-global $CMD_ROOT_FS;
+global $CMD_ROOT_FS, $AM_DAEMON, $MOCKUP;
 
 // add libglcas as if it were a path in ../libglcas
 if(file_exists("../libcbfwr")) {
@@ -16,4 +18,61 @@ require_once("libcbfwr/lib.php");
 glcas_pluginLoader();
 
 error_log("CBFWRD starting");
+
+$comms = new Comms;
+
+
+if(isset($argv[1])) {
+       // we get called here on boot.
+       if($argv[1] == "boot") {
+               $config = new Config(false);
+               $config->findHardware();
+               $conf = $config->getConfig();
+               $comms->putConfig($conf, 1);
+               exit(0);
+       }
+}
+
+// now we got into daemon modes
+$cont = true;
+
+// setup our sem/shm stuff
+
+// do the initial stuff
+$config = new Config(true);
+$config->loadConfigFile();
+$rawconf = $config->getConfig();
+$comms->putConfig($rawconf);
+$config->applyConfig();
+$runconf["status"] = "nochange";
+$comms->putConfig($runconf, 2);
+$res = $comms->getConfig(3);
+if($res === false) {
+       $comms->putConfig($runconf, 3);
+}
+
+
+while($cont) {
+       $msg = $comms->waitForMessage();
+       
+       //echo "Got message: $msg\n";
+       if($msg == "quit") $cont = false;
+       else cbfwd_commandProcessor($msg);
+}
+
+
+function cbfwd_commandProcessor($command)
+{
+       global $config;
+       $cmds = explode(" ", $command);
+       $comms = new Comms;
+       
+       $comms->lockConfigs();
+       switch($cmds[0]) {
+               case "applyclientconfig":
+                       break;
+                       
+       }
+       $comms->unlockConfigs();
+}
 ?>
\ No newline at end of file