Index: trunk/ippTools/share/Makefile.am
===================================================================
--- trunk/ippTools/share/Makefile.am	(revision 36511)
+++ trunk/ippTools/share/Makefile.am	(revision 36512)
@@ -496,4 +496,11 @@
 	fftool_summary.sql \
 	fftool_todo.sql \
-	fftool_toadvance.sql
+	fftool_toadvance.sql \
+	remotetool_definebyquery_chip.sql \
+	remotetool_definebyquery_cam.sql \
+	remotetool_definebyquery_warp.sql \
+	remotetool_definebyquery_stack.sql \
+	remotetool_updatepoll.sql
 
+
+
Index: trunk/ippTools/share/remotetool_definebyquery_cam.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_cam.sql	(revision 36512)
+++ trunk/ippTools/share/remotetool_definebyquery_cam.sql	(revision 36512)
@@ -0,0 +1,12 @@
+SELECT 
+       cam_id AS stage_id
+FROM camRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = camRun.cam_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = camRun.label
+	    )
+WHERE
+camRun.state = 'new' AND
+remoteRun.stage = 'camera' AND
+remote_id IS NULL
Index: trunk/ippTools/share/remotetool_definebyquery_chip.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_chip.sql	(revision 36512)
+++ trunk/ippTools/share/remotetool_definebyquery_chip.sql	(revision 36512)
@@ -0,0 +1,16 @@
+SELECT 
+       chip_id AS stage_id
+FROM chipRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = chipRun.chip_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = chipRun.label
+	    )
+WHERE
+chipRun.state = 'new' AND
+(remoteRun.stage = 'chip' OR remoteRun.stage IS NULL) AND
+remoteComponent.remote_id IS NULL
+
+
+
+       
Index: trunk/ippTools/share/remotetool_definebyquery_stack.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_stack.sql	(revision 36512)
+++ trunk/ippTools/share/remotetool_definebyquery_stack.sql	(revision 36512)
@@ -0,0 +1,12 @@
+SELECT 
+       stack_id AS stage_id
+FROM stackRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = stackRun.stack_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = stackRun.label
+	    )
+WHERE
+stackRun.state = 'new' AND
+remoteRun.stage = 'stack' AND
+remote_id IS NULL
Index: trunk/ippTools/share/remotetool_definebyquery_warp.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_warp.sql	(revision 36512)
+++ trunk/ippTools/share/remotetool_definebyquery_warp.sql	(revision 36512)
@@ -0,0 +1,12 @@
+SELECT 
+       warp_id AS stage_id
+FROM warpRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = warpRun.warp_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = warpRun.label
+	    )
+WHERE
+warpRun.state = 'new' AND
+remoteRun.stage = 'warp' AND
+remote_id IS NULL
Index: trunk/ippTools/share/remotetool_updatepoll.sql
===================================================================
--- trunk/ippTools/share/remotetool_updatepoll.sql	(revision 36512)
+++ trunk/ippTools/share/remotetool_updatepoll.sql	(revision 36512)
@@ -0,0 +1,3 @@
+UPDATE remoteRun SET last_poll = CURRENT_TIMESTAMP 
+WHERE
+%s
Index: trunk/ippTools/src/remotetool.c
===================================================================
--- trunk/ippTools/src/remotetool.c	(revision 36511)
+++ trunk/ippTools/src/remotetool.c	(revision 36512)
@@ -184,5 +184,5 @@
 
   // Insert the top level run object
-  remoteRunRow *run = remoteRunRowAlloc(0, // rem_id
+  remoteRunRow *run = remoteRunRowAlloc(0, // remote_id
 					"new", // state
 					stage,
@@ -206,5 +206,5 @@
     return(true);
   }
-  psS64 rem_id = psDBLastInsertID(config->dbh);
+  psS64 remote_id = psDBLastInsertID(config->dbh);
   
   psArray *list = psArrayAllocEmpty(limit);
@@ -213,5 +213,5 @@
     psS64 stage_id = psMetadataLookupS64(NULL, md, "stage_id");
 
-    remoteComponentRow *comp = remoteComponentRowAlloc(rem_id,
+    remoteComponentRow *comp = remoteComponentRowAlloc(remote_id,
 						       stage_id);
     if (!comp) {
@@ -260,5 +260,5 @@
   psMetadata *where = psMetadataAlloc();
   
-  PXOPT_COPY_S64(config->args, where, "-rem_id", "rem_id", "==");
+  PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "==");
   PXOPT_COPY_STR(config->args, where, "-state", "state", "==");
   PXOPT_COPY_STR(config->args, where, "-stage",  "stage",  "==");
@@ -292,5 +292,5 @@
   psMetadata *where = psMetadataAlloc();
 
-  PXOPT_COPY_S64(config->args, where, "-rem_id", "rem_id", "==");
+  PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "==");
   PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
   
@@ -313,16 +313,17 @@
 {
   PS_ASSERT_PTR_NON_NULL(config, false);
-
+  PXOPT_LOOKUP_S64(remote_id,  config->args, "-remote_id",    true, false);
+  
   psMetadata *where = psMetadataAlloc();
   psMetadata *values = psMetadataAlloc();
 
   // Wheres
-  PXOPT_COPY_S64(config->args, where, "-rem_id", "rem_id", "==");
-  PXOPT_COPY_STR(config->args, where, "-label",  "label", "==");
-
+  PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "==");
+  
   // Values to set
+  PXOPT_COPY_STR(config->args, values, "-set_label", "label", "==");
   PXOPT_COPY_STR(config->args, values, "-set_state", "state", "==");
   PXOPT_COPY_S16(config->args, values, "-fault",     "fault", "==");
-  PXOPT_COPY_STR(config->args, values, "-set_label", "label", "==");
+  PXOPT_COPY_S64(config->args, values, "-job_id",    "job_id", "==");
 
   long rows = psDBUpdateRows(config->dbh, "remoteRun", where, values);
@@ -340,24 +341,28 @@
 {
   PS_ASSERT_PTR_NON_NULL(config, false);
-
+  PXOPT_LOOKUP_S64(remote_id,  config->args, "-remote_id",    true, false);
+  
   psMetadata *where = psMetadataAlloc();
   // Wheres
-  PXOPT_COPY_S64(config->args, where, "-rem_id", "rem_id", "==");
-
+  PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "==");
+  psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
+  psFree(where);
+  
   psString query = NULL;
   query = pxDataGet("remotetool_updatepoll.sql");
   if (!query) {
     psError(PXTOOLS_ERR_SYS,false, "failed to retreive SQL statement");
-    psFree(where);
+    psFree(whereClause);
     return(false);
   }
 
-  if (!p_psDBRunQueryF(config->dbh, query,where)) {
+  if (!p_psDBRunQueryF(config->dbh, query,whereClause)) {
     psError(PS_ERR_UNKNOWN, false, "database error");
     psFree(query);
+    psFree(whereClause);
     return false;
   }
   psFree(query);
-  psFree(where);
+  psFree(whereClause);
   return(true);
 }
@@ -374,5 +379,5 @@
 
   // required
-  PXOPT_COPY_S64(config->args, where, "-rem_id", "rem_id", "==");
+  PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "==");
   PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
   
@@ -398,5 +403,5 @@
 
   // required
-  PXOPT_COPY_S64(config->args, where, "-rem_id", "rem_id", "==");
+  PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "==");
   PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
 
Index: trunk/ippTools/src/remotetoolConfig.c
===================================================================
--- trunk/ippTools/src/remotetoolConfig.c	(revision 36511)
+++ trunk/ippTools/src/remotetoolConfig.c	(revision 36512)
@@ -38,9 +38,10 @@
   ADD_OPT(Str, definebyqueryArgs, "-path_base",      "define base output location", NULL);
   ADD_OPT(S16, definebyqueryArgs, "-limit",          "limit to number of jobs to bundle",0);
+  ADD_OPT(Bool, definebyqueryArgs, "-pretend",       "pretend to do this.", 0);
   ADD_OPT(Bool, definebyqueryArgs,"-simple",         "simple print format",0);
   
   // -listrun
   psMetadata *listrunArgs = psMetadataAlloc();
-  ADD_OPT(S64, listrunArgs, "-rem_id",             "run to list", 0);
+  ADD_OPT(S64, listrunArgs, "-remote_id",             "run to list", 0);
   ADD_OPT(Str, listrunArgs, "-state",              "run state", NULL);
   ADD_OPT(Str, listrunArgs, "-stage",              "stage to return", NULL);
@@ -48,6 +49,8 @@
 
   ADD_OPT(S64, listrunArgs, "-job_id",             "job_id", 0);
-  ADD_OPT(Str, listrunArgs, "-poll_begin",         "last polled time begin", NULL);
-  ADD_OPT(Str, listrunArgs, "-poll_end",           "last polled time begin", NULL);
+  //  ADD_OPT(Str, listrunArgs, "-poll_begin",         "last polled time begin", NULL);
+  //  ADD_OPT(Str, listrunArgs, "-poll_end",           "last polled time begin", NULL);
+  psMetadataAddTime(listrunArgs, PS_LIST_TAIL, "-poll_begin", 0, "last polled time begin", NULL);
+  psMetadataAddTime(listrunArgs, PS_LIST_TAIL, "-poll_end", 0, "last polled time end", NULL);
 
   ADD_OPT(S16, listrunArgs, "-fault",              "fault code", 0);
@@ -58,22 +61,24 @@
   // -listcomponents
   psMetadata *listcomponentArgs = psMetadataAlloc();
-  ADD_OPT(S64, listcomponentArgs, "-rem_id",             "run to list", 0);
+  ADD_OPT(S64, listcomponentArgs, "-remote_id",             "run to list", 0);
   ADD_OPT(S16, listcomponentArgs, "-limit",              "limit to number of runs to display", 0);
-  
+  ADD_OPT(Bool, listcomponentArgs, "-simple",            "simple print format", false);
   // -updaterun
   psMetadata *updaterunArgs = psMetadataAlloc();
-  ADD_OPT(S64, updaterunArgs, "-rem_id",             "run to update", 0);
+  ADD_OPT(S64, updaterunArgs, "-remote_id",             "run to update", 0);
+  //  ADD_OPT(Str, updaterunArgs, "-label",                  "label to update", NULL);
   ADD_OPT(Str, updaterunArgs, "-set_label",          "remRun label to use", NULL);
+  ADD_OPT(Str, updaterunArgs, "-set_state",          "remoteRun state to assign", NULL);
   ADD_OPT(S64, updaterunArgs, "-job_id",             "job_id to set", 0);
   ADD_OPT(S16, updaterunArgs, "-fault",              "fault code", 0);
-  ADD_OPT(Bool, updaterunArgs, "-poll",              "set poll date", NULL);
+  //  ADD_OPT(Bool, updaterunArgs, "-poll",              "set poll date", NULL);
 
   // -updatepoll
   psMetadata *updatepollArgs = psMetadataAlloc();
-  ADD_OPT(S64, updatepollArgs, "-rem_id",            "run to update", 0);
+  ADD_OPT(S64, updatepollArgs, "-remote_id",            "run to update", 0);
   
   // -revertrun
   psMetadata *revertrunArgs = psMetadataAlloc();
-  ADD_OPT(S64, revertrunArgs, "-rem_id",             "run to revert", 0);
+  ADD_OPT(S64, revertrunArgs, "-remote_id",             "run to revert", 0);
   ADD_OPT(Str, revertrunArgs, "-label",      "remRun label to use", NULL);
   ADD_OPT(S16, revertrunArgs, "-fault",              "fault code", 0);
@@ -81,5 +86,5 @@
   // -revertauth
   psMetadata *revertauthArgs = psMetadataAlloc();
-  ADD_OPT(S64, revertauthArgs, "-rem_id",             "run to revert", 0);
+  ADD_OPT(S64, revertauthArgs, "-remote_id",             "run to revert", 0);
   ADD_OPT(Str, revertauthArgs, "-label",      "remRun label to use", NULL);
 
@@ -89,4 +94,5 @@
   PXOPT_ADD_MODE("-definebyquery",     "", REMOTETOOL_MODE_DEFINEBYQUERY,  definebyqueryArgs);
   PXOPT_ADD_MODE("-listrun",           "", REMOTETOOL_MODE_LISTRUN,        listrunArgs);
+  PXOPT_ADD_MODE("-listcomponent",     "", REMOTETOOL_MODE_LISTCOMPONENT,  listcomponentArgs);
   PXOPT_ADD_MODE("-updaterun",         "", REMOTETOOL_MODE_UPDATERUN,      updaterunArgs);
   PXOPT_ADD_MODE("-updatepoll",        "", REMOTETOOL_MODE_UPDATEPOLL,     updatepollArgs);
