📄 main.cpp.svn-base
字号:
// ------------------------------------------------// File : main.cpp// Date: 4-apr-2002// Author: giles// Desc: // see .cpp for details// // (c) 2002 peercast.org// ------------------------------------------------#include <stdarg.h>#include "stdio.h"#include "channel.h"#include "servent.h"#include "servmgr.h"#include "osx/xsys.h"#include <sys/types.h>#include <unistd.h>#include <signal.h>#include <stdlib.h>// ----------------------------------ChanMgr *chanMgr;ServMgr *servMgr;Sys *sys;String iniFileName;ThreadInfo rootThread;bool quit=false;// ----------------------------------void setSettingsUI(){}// ----------------------------------void showConnections(){}// ----------------------------------void PRINTLOG(LogBuffer::TYPE type, const char *fmt,va_list ap){ char str[4096]; vsprintf(str,fmt,ap); if ((servMgr->showLog & (1<<type)) && (!servMgr->pauseLog)) { if (type != LogBuffer::T_NONE) printf("[%s] ",LogBuffer::getTypeStr(type)); printf("%s\n",str); sys->logBuf->write(str,type); }}// ----------------------------------void LOG(const char *fmt,...){ va_list ap; va_start(ap, fmt); PRINTLOG(LogBuffer::T_DEBUG,fmt,ap);}// ----------------------------------void LOG_DEBUG(const char *fmt,...){ va_list ap; va_start(ap, fmt); PRINTLOG(LogBuffer::T_DEBUG,fmt,ap);}// ----------------------------------void LOG_ERROR(const char *fmt,...){ va_list ap; va_start(ap, fmt); PRINTLOG(LogBuffer::T_ERROR,fmt,ap);}// ----------------------------------void LOG_NETWORK(const char *fmt,...){ va_list ap; va_start(ap, fmt); PRINTLOG(LogBuffer::T_NETWORK,fmt,ap);}// ----------------------------------void LOG_CHANNEL(const char *fmt,...){ va_list ap; va_start(ap, fmt); PRINTLOG(LogBuffer::T_CHANNEL,fmt,ap);}// ----------------------------------void sigProc(int sig){ switch (sig) { case 2: if (!quit) LOG_DEBUG("Received QUIT signal"); quit=true; break; }}// ----------------------------------int main(int argc, char* argv[]){// if (fork() != 0)// return 0; signal( SIGPIPE, SIG_IGN ); pthread_sigmask( SIG_BLOCK, sigmask(SIGPIPE), NULL ); sys = new XSys(); iniFileName.set("peercast.ini"); if (argc > 2) { if (strcmp(argv[1],"-inifile")==0) iniFileName.setFromString(argv[2]); } servMgr = new ServMgr(); chanMgr = new ChanMgr(); servMgr->loadSettings(iniFileName.cstr()); if (!servMgr->start()) { fprintf(stderr,"Unable to start main threads"); return -1; } signal(SIGINT, sigProc); while (!quit) sys->sleep(1000); LOG_DEBUG("Saving settings to %s",iniFileName.cstr()); servMgr->saveSettings(iniFileName.cstr()); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -