
#include<stdio.h>
#include<unistd.h>
#include<sys/wait.h>
#include<netinet/in.h>
#include<string.h>
#include<stdlib.h>
#include<pthread.h>

#include"sitar.h"
#include"sitar_com.h"
#include<almemsys/almemsys.h>
#include"jpreturn.h"
#include<file_comp/file_comp.h>

extern global_data_t gd;

extern pthread_mutex_t file1_mutex;
extern pthread_mutex_t file2_mutex;
extern pthread_mutex_t file3_mutex;
extern pthread_mutex_t file4_mutex;



// LIFEのステータスから編集されたファイルを確認し、ファイルを受け取る。
int check_alget(char * rec)
{
int stat;
stat = 0;

if((char *)strcasestr(rec, "_BAT") != NULL){
// pthread_mutex_lock(&file2_mutex);
   safe_pthread_mutex_lock(&file2_mutex);
   #ifdef BAT_DEBUG
   printf("BAT_DEBUG: check_alget(1): _BAT(COMAND) (%s)\n", rec);
   #endif
   stat = get_alget(gd.fi.bat_filename, "COMAND");
   pthread_mutex_unlock(&file2_mutex);
   }

if((char *)strcasestr(rec, "_SCA") != NULL){
   // listファイルに変更があった場合フラグをたてる
   safe_pthread_mutex_lock(&file1_mutex);
   gd.fi.list_stat = 1;
   #ifdef BAT_DEBUG
   printf("BAT_DEBUG: check_alget(2): _SCA(PORT) flag set (%s)\n", rec);
   #endif
   pthread_mutex_unlock(&file1_mutex);

// safe_pthread_mutex_lock(&file1_mutex);
// #ifdef BAT_DEBUG
// printf("BAT_DEBUG: check_alget(2): _SCA(PORT) (%s)\n", rec);
// #endif
// stat = get_alget(gd.fi.bat2_filename, "PORT");
// pthread_mutex_unlock(&file1_mutex);
   }


if((char *)strcasestr(rec, "_CONF") != NULL){
   #ifdef BAT_DEBUG
   printf("BAT_DEBUG: check_alget(3): _CONF (%s)\n", rec);
   #endif
   stat = get_configfile(gd.fi.conf_path, "CONFIG");
   }
if((char *)strcasestr(rec, "_STAT") != NULL){
   #ifdef BAT_DEBUG
   printf("BAT_DEBUG: check_alget(4): _STAT (%s)\n", rec);
   #endif
   stat = get_statfile("STAT");
   }

// 以下は現在実装なし
if((char *)strcasestr(rec, "_CRONFILE") != NULL && gd.cron_onoff == 1){
// pthread_mutex_lock(&file3_mutex);
   safe_pthread_mutex_lock(&file3_mutex);
   #ifdef BAT_DEBUG
   printf("BAT_DEBUG: check_alget(5): _CRONFILE (%s)\n", rec);
   #endif
   stat = get_alget(gd.fi.cronfile_filename, "CRONFILE");
   pthread_mutex_unlock(&file3_mutex);
   }
if((char *)strcasestr(rec, "_CRONLIST") != NULL && gd.cron_onoff == 1){
// pthread_mutex_lock(&file4_mutex);
   safe_pthread_mutex_lock(&file4_mutex);
   #ifdef BAT_DEBUG
   printf("BAT_DEBUG: check_alget(6): _CRONLIST (%s)\n", rec);
   #endif
   stat = get_alget(gd.fi.cronlist_filename, "CRONLIST");
   pthread_mutex_unlock(&file4_mutex);
   }

return stat;
}




