Now handles multiple options.
git-svn-id: http://svn.zoneminder.com/svn/zm/trunk@295 e3e1d417-86f3-4887-817a-d78f3d33393f
This commit is contained in:
parent
5dbbbc2143
commit
1e91428ede
110
src/zmu.cpp
110
src/zmu.cpp
|
@ -61,7 +61,21 @@ int main( int argc, char *argv[] )
|
||||||
};
|
};
|
||||||
|
|
||||||
int id = 1;
|
int id = 1;
|
||||||
enum { BOGUS, STATE, IMAGE, TIME, READ_IDX, WRITE_IDX, EVENT, FPS, ZONES, ALARM, CANCEL } function = BOGUS;
|
typedef enum {
|
||||||
|
BOGUS=0x0000,
|
||||||
|
STATE=0x0001,
|
||||||
|
IMAGE=0x0002,
|
||||||
|
TIME=0x0004,
|
||||||
|
READ_IDX=0x0008,
|
||||||
|
WRITE_IDX=0x0010,
|
||||||
|
EVENT=0x0020,
|
||||||
|
FPS=0x0040,
|
||||||
|
ZONES=0x0080,
|
||||||
|
ALARM=0x0100,
|
||||||
|
CANCEL=0x0200
|
||||||
|
} Function;
|
||||||
|
Function function = BOGUS;
|
||||||
|
|
||||||
int image_idx = -1;
|
int image_idx = -1;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
@ -81,42 +95,42 @@ int main( int argc, char *argv[] )
|
||||||
id = atoi(optarg);
|
id = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
function = STATE;
|
function = Function(function | STATE);
|
||||||
break;
|
break;
|
||||||
case 'i':
|
case 'i':
|
||||||
function = IMAGE;
|
function = Function(function | IMAGE);
|
||||||
if ( optarg )
|
if ( optarg )
|
||||||
{
|
{
|
||||||
image_idx = atoi( optarg );
|
image_idx = atoi( optarg );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 't':
|
case 't':
|
||||||
function = TIME;
|
function = Function(function | TIME);
|
||||||
if ( optarg )
|
if ( optarg )
|
||||||
{
|
{
|
||||||
image_idx = atoi( optarg );
|
image_idx = atoi( optarg );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'r':
|
case 'r':
|
||||||
function = READ_IDX;
|
function = Function(function | READ_IDX);
|
||||||
break;
|
break;
|
||||||
case 'w':
|
case 'w':
|
||||||
function = WRITE_IDX;
|
function = Function(function | WRITE_IDX);
|
||||||
break;
|
break;
|
||||||
case 'e':
|
case 'e':
|
||||||
function = EVENT;
|
function = Function(function | EVENT);
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
function = FPS;
|
function = Function(function | FPS);
|
||||||
break;
|
break;
|
||||||
case 'z':
|
case 'z':
|
||||||
function = ZONES;
|
function = Function(function | ZONES);
|
||||||
break;
|
break;
|
||||||
case 'a':
|
case 'a':
|
||||||
function = ALARM;
|
function = Function(function | ALARM);
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
function = CANCEL;
|
function = Function(function | CANCEL);
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
Usage();
|
Usage();
|
||||||
|
@ -139,7 +153,7 @@ int main( int argc, char *argv[] )
|
||||||
Usage();
|
Usage();
|
||||||
}
|
}
|
||||||
|
|
||||||
//printf( "Monitor %d, Function %d, ImageIdx %d\n", id, function, image_idx );
|
//printf( "Monitor %d, Function %d\n", id, function );
|
||||||
|
|
||||||
dbg_name = "zmu";
|
dbg_name = "zmu";
|
||||||
dbg_level = -1;
|
dbg_level = -1;
|
||||||
|
@ -166,47 +180,65 @@ int main( int argc, char *argv[] )
|
||||||
|
|
||||||
if ( monitor )
|
if ( monitor )
|
||||||
{
|
{
|
||||||
if ( function == STATE )
|
char separator = ' ';
|
||||||
|
bool have_output = false;
|
||||||
|
if ( function & STATE )
|
||||||
{
|
{
|
||||||
printf( "%d\n", monitor->GetState() );
|
if ( have_output ) printf( "%c", separator );
|
||||||
|
printf( "%d", monitor->GetState() );
|
||||||
|
have_output = true;
|
||||||
}
|
}
|
||||||
else if ( function == IMAGE )
|
if ( function & TIME )
|
||||||
|
{
|
||||||
|
if ( have_output ) printf( "%c", separator );
|
||||||
|
printf( "%d", monitor->GetTimestamp( image_idx ) );
|
||||||
|
have_output = true;
|
||||||
|
}
|
||||||
|
if ( function & READ_IDX )
|
||||||
|
{
|
||||||
|
if ( have_output ) printf( "%c", separator );
|
||||||
|
printf( "%d", monitor->GetLastReadIndex() );
|
||||||
|
have_output = true;
|
||||||
|
}
|
||||||
|
if ( function & WRITE_IDX )
|
||||||
|
{
|
||||||
|
if ( have_output ) printf( "%c", separator );
|
||||||
|
printf( "%d", monitor->GetLastWriteIndex() );
|
||||||
|
have_output = true;
|
||||||
|
}
|
||||||
|
if ( function & EVENT )
|
||||||
|
{
|
||||||
|
if ( have_output ) printf( "%c", separator );
|
||||||
|
printf( "%d", monitor->GetLastEvent() );
|
||||||
|
have_output = true;
|
||||||
|
}
|
||||||
|
if ( function & FPS )
|
||||||
|
{
|
||||||
|
if ( have_output ) printf( "%c", separator );
|
||||||
|
printf( "%.2f", monitor->GetFPS() );
|
||||||
|
have_output = true;
|
||||||
|
}
|
||||||
|
if ( function & IMAGE )
|
||||||
{
|
{
|
||||||
monitor->GetImage( image_idx );
|
monitor->GetImage( image_idx );
|
||||||
}
|
}
|
||||||
else if ( function == TIME )
|
if ( function & ZONES )
|
||||||
{
|
|
||||||
printf( "%d\n", monitor->GetTimestamp( image_idx ) );
|
|
||||||
}
|
|
||||||
else if ( function == READ_IDX )
|
|
||||||
{
|
|
||||||
printf( "%d\n", monitor->GetLastReadIndex() );
|
|
||||||
}
|
|
||||||
else if ( function == WRITE_IDX )
|
|
||||||
{
|
|
||||||
printf( "%d\n", monitor->GetLastWriteIndex() );
|
|
||||||
}
|
|
||||||
else if ( function == EVENT )
|
|
||||||
{
|
|
||||||
printf( "%d\n", monitor->GetLastEvent() );
|
|
||||||
}
|
|
||||||
else if ( function == FPS )
|
|
||||||
{
|
|
||||||
printf( "%.2f\n", monitor->GetFPS() );
|
|
||||||
}
|
|
||||||
else if ( function == ZONES )
|
|
||||||
{
|
{
|
||||||
monitor->ReloadZones();
|
monitor->ReloadZones();
|
||||||
}
|
}
|
||||||
else if ( function == ALARM )
|
if ( function & ALARM )
|
||||||
{
|
{
|
||||||
monitor->ForceAlarm();
|
monitor->ForceAlarm();
|
||||||
}
|
}
|
||||||
else if ( function == CANCEL )
|
if ( function & CANCEL )
|
||||||
{
|
{
|
||||||
monitor->CancelAlarm();
|
monitor->CancelAlarm();
|
||||||
}
|
}
|
||||||
else
|
if ( have_output )
|
||||||
|
{
|
||||||
|
printf( "\n" );
|
||||||
|
}
|
||||||
|
if ( !function )
|
||||||
{
|
{
|
||||||
Usage();
|
Usage();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue