camogmstate.php 2.32 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
<?php
/*!***************************************************************************
*! FILE NAME  : camogmstate.php
*! DESCRIPTION: Just a sample program that interacts with camogm recorder
*! Copyright (C) 2007 Elphel, Inc
*! -----------------------------------------------------------------------------**
*!
*!  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 3 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, see <http://www.gnu.org/licenses/>.
*! -----------------------------------------------------------------------------**
*!  $Log: camogmstate.php,v $
*!  Revision 1.1.1.1  2008/11/27 20:04:01  elphel
*!
*!
*!  Revision 1.2  2007/11/28 07:15:38  elphel
*!  added sending arbitrary commands to camogm
*!
*!  Revision 1.1  2007/11/19 03:23:21  elphel
*!  7.1.5.5 Added support for *.mov files in camogm.
*!
*!
*/

//! just for testing, asuming camogm is running and listening to /var/state/camogm_cmd
//! create a named pipe - "/var/state/camogm.state"
   $pipe="/var/state/camogm.state";
   $cmd_pipe="/var/state/camogm_cmd";
   $mode=0777;
   if(!file_exists($pipe)) {
      // create the pipe
      umask(0);
      posix_mkfifo($pipe,$mode);
   } else {
//! make sure $pipe is empty (how?) or just unlink($pipe) if it existed?
   }
//! open command pipe to camogm
   $fcmd=fopen($cmd_pipe,"w");
//! did the caller supply any command to be send to camogm?
   $cmd=$_GET['cmd'];
   if ($cmd) $cmd=urldecode($cmd).";";
//! ask it to send status to the pipe $pipe (so this program will wait for the data to appear)
   fprintf($fcmd,$cmd."xstatus=%s\n",$pipe);
   fclose($fcmd);
//! it seems that everything worked - caller (this script) waits for the file to appear
   $status=file_get_contents($pipe);
   header("Content-Type: text/xml");
   header("Content-Length: ".strlen($status)."\n");
   header("Pragma: no-cache\n");
   printf($status);
?>