📄 newcall.c
字号:
/////////////////////////////////////////////////////////////////////////////
// Name: newcall.h
// Copyright: wellgain
// Author: bet
// Date: 2003-11-1
// Description: the interface to the tel
/////////////////////////////////////////////////////////////////////////////
#include <glib.h>
#include "newcall.h"
#include "../config.h"
#include "../callinfo.h"
#include "../datetime.h"
int is_blackname(const char* tel)
{
int ret = 0;
FILE* fp;
if(strlen(tel)<=0)
return ret;
fp = fopen(MEMDATAFILEPATH BlacklistFileName, "rb");
if(fp == NULL)
return ret;
CCallRecord cr;
CArchive loadAr(fp, CArchive::load);
while(loadAr){
cr.Serialize(loadAr);
if(!cr.isDeleted() && !CCallsInfo::telcmp(cr.GetTel(), tel)){
ret = 1;
break;
}
}
loadAr.Close();
fclose(fp);
//g_print("------ bet: %s is %s a black name -----\n", tel, ret ? " " : "-* NOT *-");
return ret;
}
void newcall(const char* name, const char* tel, time_t time, time_t duration, int type)
{
CCallsInfo* cif = NULL;
CCallsInfo* cif_offen = NULL;
CCallTimes* ct = NULL;
CDateTime dt(time);
CTime dur(duration);
switch(type){
case missed:
cif = new CCallsInfo(CCallsInfo::missed, MEMDATAFILEPATH MissedFileName);
break;
case received:
cif = new CCallsInfo(CCallsInfo::received, MEMDATAFILEPATH ReceivedFileName);
cif_offen = new CCallsInfo(CCallsInfo::offen, MEMDATAFILEPATH OffenFileName);
ct = new CCallTimes(MEMDATAFILEPATH CallTimesFileName);
ct->NewCall(dur, true);
delete ct;
break;
case dialed:
cif = new CCallsInfo(CCallsInfo::dialed, MEMDATAFILEPATH DialedFileName);
cif_offen = new CCallsInfo(CCallsInfo::offen, MEMDATAFILEPATH OffenFileName);
ct = new CCallTimes(MEMDATAFILEPATH CallTimesFileName);
ct->NewCall(dur, false);
delete ct;
break;
case blacklist:
cif = new CCallsInfo(CCallsInfo::blacklist, MEMDATAFILEPATH BlacklistFileName);
break;
default:
g_warning("Error call type! ");
return;
}
CCallRecord cr(name, tel, dt, dur, 1);
cif->NewCall(cr);
if(cif_offen){
if(strlen(tel))
cif_offen->NewCall(cr);
delete cif_offen;
}
delete cif;
}
void sync_data_file()
{
//CCallsInfo::SyncDataFile();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -