}
/*******************************************
+ get next next usage log from management db
+ if end of list, return false
+*******************************************/
+int getNextUsageLogFromMngDb(char* userId, char* extraId, char* macAddr, char* deviceName, char* openTime, char* closeTime, char* gatewayName){
+ static MYSQL_RES *res=NULL;
+ MYSQL_ROW row;
+ char queryStr[BUFFMAXLN];
+
+ /* set default values */
+ macAddr[0]=deviceName[0]=openTime[0]=gatewayName[0]='\0';
+
+ /* if do not get result yet */
+ if(res==NULL){
+
+ /* prepare query string */
+ /* get log where addr.entry < session.open < addr.limit */
+ /* (the same device may be registered by other users in old days) */
+ snprintf(queryStr, BUFFMAXLN,
+ "select macaddrs.macAddress, device, openTime, closeTime, "
+ " gatewayName "
+ " from macaddrs, sessionmd "
+ " where macaddrs.macAddress=sessionmd.macAddress "
+ " and entryDate < openTime and openTime < limitDate "
+ " and (%s<closeTime or closeTime=0) "
+ " and userId='%s' and extraId='%s'",
+ GetConfValue("ShowLogAfter"), userId, extraId);
+
+ /* send SQL query */
+ if (mysql_query(&mysql, queryStr)){
+
+ /* query error */
+ /* might be caused by <SaveLogToMngDb> setting in opengatemd.conf */
+ return FALSE;
+ }
+
+ /* store result */
+ res = mysql_store_result(&mysql);
+ }
+
+ /* output table name */
+ row = mysql_fetch_row(res);
+
+ /* if found, return values */
+ if(row!=NULL){
+ strlcpy(macAddr, row[0],ADDRMAXLN);
+ strlcpy(deviceName,row[1],WORDMAXLN);
+ strlcpy(openTime,row[2],WORDMAXLN);
+ strlcpy(closeTime,row[3],WORDMAXLN);
+ strlcpy(gatewayName,row[4],WORDMAXLN);
+ return TRUE;
+ }
+ /* if not found, free memory area */
+ else{
+ mysql_free_result(res);
+ return FALSE;
+ }
+}
+
+
+/*******************************************
get next mail address near limit date
from management db
*******************************************/
return ret;
}
+int GetNextUsageLogFromMngDb(char* userId, char* extraId, char* macAddr,
+ char* deviceName, char* openTime, char* closeTime, char* gatewayName){
+ int ret;
+ if(debug>1) err_msg("DEBUG:=>getNextUsageLogFromMngDb(%s,%s)",userId,extraId);
+ ret=getNextUsageLogFromMngDb(userId,extraId,macAddr,deviceName,
+ openTime,closeTime,gatewayName);
+ if(debug>1) err_msg("DEBUG:(%d)<=getNextUsageLogFromMngDb(,,%s,%s,%s,%s,%s)",
+ ret,macAddr,deviceName,openTime,closeTime,gatewayName);
+ return ret;
+}
+
int GetNextMailAddressFromMngDb(char* mailAddress, char* limitDate, char*device){
int ret;
if(debug>1) err_msg("DEBUG:=>getnextMailAddressFromMngDb( )");