Пример #1
0
bool COptimizedTexture::Save(char *filename)
{
	FILE *fp;

	if(!tex_data || !pitch)
	{
		SysLog("No texture generated to save: %s\n", filename);
		return false;
	}

	fp=fopen(filename,"wb");
	if(!fp)
	{
		SysLog("Can't create texture file: %s\n", filename);
		return false;
	}

	if(!Write32BitPNGWithPitch(fp, tex_data, true, texw, texh, pitch))
	{
		fclose(fp);
		SysLog("Error writing data: %s\n", filename);
		return false;
	}

	fclose(fp);
	return true;
}
Пример #2
0
/*
  Обработка одного хост-файла.
  Return:
    -1 - Этот файл никаким плагином не поддержан
     0 - Плагин вернул FALSE
     1 - Плагин вернул TRUE
*/
int FileList::ProcessOneHostFile(int Idx)
{
	_ALGO(CleverSysLog clv(L"FileList::ProcessOneHostFile()"));
	int Done=-1;
	_ALGO(SysLog(L"call OpenPluginForFile([Idx=%d] '%s')",Idx,ListData[Idx]->strName.CPtr()));
	HANDLE hNewPlugin=OpenPluginForFile(&ListData[Idx]->strName,ListData[Idx]->FileAttr, OFP_COMMANDS);

	if (hNewPlugin && hNewPlugin!=PANEL_STOP)
	{
		PluginPanelItem *ItemList;
		size_t ItemNumber;
		_ALGO(SysLog(L"call Plugins.GetFindData"));

		if (CtrlObject->Plugins->GetFindData(hNewPlugin,&ItemList,&ItemNumber,OPM_TOPLEVEL))
		{
			_ALGO(SysLog(L"call Plugins.ProcessHostFile"));
			Done=CtrlObject->Plugins->ProcessHostFile(hNewPlugin,ItemList,ItemNumber,OPM_TOPLEVEL);
			_ALGO(SysLog(L"call Plugins.FreeFindData"));
			CtrlObject->Plugins->FreeFindData(hNewPlugin,ItemList,ItemNumber);
		}

		_ALGO(SysLog(L"call Plugins.ClosePanel"));
		CtrlObject->Plugins->ClosePanel(hNewPlugin);
	}

	return Done;
}
Пример #3
0
void Manager::UpdateCommit()
{
	_MANAGER(CleverSysLog clv(L"Manager::UpdateCommit()"));
	_MANAGER(SysLog(L"DeletedFrame=%p, InsertedFrame=%p, ExecutedFrame=%p",DeletedFrame,InsertedFrame, ExecutedFrame));

	if (ExecutedFrame)
	{
		DeleteCommit();
		ExecuteCommit();
		return;
	}

	int FrameIndex=IndexOf(DeletedFrame);

	if (-1!=FrameIndex)
	{
		ActivateFrame(FrameList[FrameIndex] = InsertedFrame);
		ActivatedFrame->FrameToBack=CurrentFrame;
		DeleteCommit();
	}
	else
	{
		_MANAGER(SysLog(L"ERROR! DeletedFrame not found"));
	}
}
Пример #4
0
void FileList::PluginPutFilesToNew()
{
	_ALGO(CleverSysLog clv(L"FileList::PluginPutFilesToNew()"));
	//_ALGO(SysLog(L"FileName='%s'",(FileName?FileName:"(nullptr)")));
	_ALGO(SysLog(L"call Plugins.OpenFilePlugin(nullptr, 0)"));
	HANDLE hNewPlugin=CtrlObject->Plugins->OpenFilePlugin(nullptr, 0, OFP_CREATE);

	if (hNewPlugin && hNewPlugin!=PANEL_STOP)
	{
		_ALGO(SysLog(L"Create: FileList TmpPanel, FileCount=%d",FileCount));
		FileList TmpPanel;
		TmpPanel.SetPluginMode(hNewPlugin,L"");  // SendOnFocus??? true???
		TmpPanel.SetModalMode(TRUE);
		int PrevFileCount=FileCount;
		/* $ 12.04.2002 IS
		   Если PluginPutFilesToAnother вернула число, отличное от 2, то нужно
		   попробовать установить курсор на созданный файл.
		*/
		int rc=PluginPutFilesToAnother(FALSE,&TmpPanel);

		if (rc!=2 && FileCount==PrevFileCount+1)
		{
			int LastPos = 0;
			/* Место, где вычисляются координаты вновь созданного файла
			   Позиционирование происходит на файл с максимальной датой
			   создания файла. Посему, если какой-то злобный буратино поимел
			   в текущем каталоге файло с датой создания поболее текущей,
			   то корректного позиционирования не произойдет!
			*/
			FileListItem *PtrListData, *PtrLastPos = nullptr;

			for (int i = 0; i < FileCount; i++)
			{
				PtrListData = ListData[i];
				if ((PtrListData->FileAttr & FILE_ATTRIBUTE_DIRECTORY) == 0)
				{
					if (PtrLastPos)
					{
						if (FileTimeDifference(&PtrListData->CreationTime, &PtrLastPos->CreationTime) > 0)
						{
							LastPos = i;
							PtrLastPos = PtrListData;
						}
					}
					else
					{
						LastPos = i;
						PtrLastPos = PtrListData;
					}
				}
			}

			if (PtrLastPos)
			{
				CurFile = LastPos;
				Redraw();
			}
		}
	}
}
Пример #5
0
bool COptimizedTexture::Create()
{
	// create texture
	texw = placer.GetW();
	texh = placer.GetH();

	tex = hge->Texture_Create(texw, texh);
	if(!tex)
	{
		SysLog("Can't create target texture.\n");
		return false;
	}

	// get hardware width
	pitch = hge->Texture_GetWidth(tex, false);

	// lock texture
	tex_data = (CColor *)hge->Texture_Lock(tex);
	if(!tex_data)
	{
		SysLog("Can't lock target texture.\n");
		return false;
	}

	// clear texture
	memset(tex_data, 0, sizeof(CColor) * pitch * hge->Texture_GetHeight(tex, false));

	return true;
}
Пример #6
0
int load_tranmap_cfg(char *filename)
{
	int shmid,i=0;
	char buff[1200];
	_tranmap *tmap=NULL;
	char *tmpbuf = NULL;
	size_t shmsize;
	FILE *fp=NULL;


	memset(buff,0,sizeof(buff));
	/** init commmsg **/
	shmsize=MAXTRANMAP*sizeof(_tranmap);
	if((shmid=getshmid(5,shmsize))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取交易映射区共享内存失败\n");
		return -1;
	}
	SysLog(LOG_SYS_SHOW,"开始加载交易映射区共享内存配置 \n");
	tmap = (_tranmap *)shmat(shmid,NULL,0);
	if(tmap == NULL)
	{
		SysLog(LOG_SYS_ERR,"链接交易映射区共享内存失败\n");
		return -1;
	}
	fp = fopen(filename,"r");
	if(fp==NULL)
	{
		SysLog(LOG_SYS_ERR,"打开文件[%s]失败[%s]\n",filename,strerror(errno));
		shmdt(tmap);
		return -1;
	}
	while(fgets(buff,sizeof(buff),fp)!=NULL)
	{
		buff[strlen(buff)-1]='\0';
		if(buff[0]=='#')
		{
			//cmsg++;
			continue;
		}
		if(buff[0]=='*')
		{
			strcpy(tmap->trancode,buff+1);
			tmap++;
			continue;
		}
		/** need if else **/
		strcpy(tmap->trancode,strtok(buff,"^"));
		strcpy(tmap->tranname,strtok(NULL,"^"));
		strcpy(tmap->tranflow,strtok(NULL,"^"));
		tmap->timeout=atoi(strtok(NULL,"^"));
		tmap++;
	}
	shmdt(tmap);
	fclose(fp);
	SysLog(LOG_SYS_SHOW,"加载交易映射区共享内存配置成功 \n");
	return 0;
}
Пример #7
0
int sendprocess(long inerid,MQLONG	*messlen)
{
	FILE	*fp = NULL;
	char	tmpfilename[60];

	memset(tmpfilename,0,sizeof(tmpfilename));
	memset(buffer,0,sizeof(buffer));
	memset(tmpbuffer,0,sizeof(tmpbuffer));
	memset(headbuf,0,sizeof(headbuf));

	SysLog(LOG_CHNL_SHOW,"&&&&&&&&&&&&&&&&&FILE [%s] LINE[%d] 开始处理[%ld]\n",__FILE__,__LINE__,inerid);
	/**get the shm **/ 
	if((get_shm_hash(inerid,tranbuf))!=-1)
	{
		/**
		  SysLog(LOG_CHNL_ERR,"交易跟踪号[%ld]\t传入交易信息[%s]\n",mbuf->innerid,tranbuf->outtran);
		  if(unpack(mbuf->tranbuf.chnlname,tranbuf->outtran)==-1)
		  {
		  SysLog(LOG_CHNL_ERR,"解[%s]包失败\t传入交易信息[%s]\n",mbuf->tranbuf.chnlname,tranbuf->outtran);
		  seterr("EEEEEEEE","解包失败");
		  }else
		  {
		 **/
		SysLog(LOG_CHNL_DEBUG,"FILE [%s] LINE[%d] 交易跟踪号[%ld]\t传入交易信息[%s][%s]\n",__FILE__,__LINE__,inerid,tranbuf->outtran,tranbuf->intran);
		if(strcmp(tranbuf->outtran,""))
		{
			strtok(tranbuf->outtran,"|");
			strcpy(tmpfilename,strtok(NULL,"|"));
			strcpy(headbuf,strtok(NULL,"|"));
			fp = fopen(tmpfilename,"r");
			if(fp==NULL)	
			{
				SysLog(LOG_CHNL_ERR,"FILE [%s] LINE[%d] 读取文件[%s]失败:%s\n",__FILE__,__LINE__,tmpfilename,strerror(errno));
				return -1;
			}
			if(fread(tmpbuffer, sizeof(tmpbuffer), 1,fp) != -1)
			{
				sprintf(buffer,"%s%s%s%s",headbuf,"\r","\n",tmpbuffer);
				*messlen = (MQLONG)strlen(buffer); /* length without null      */
				fclose(fp);
				return 0;
			}
		}else
		{
			SysLog(LOG_CHNL_ERR,"FILE [%s] LINE[%d] 传入数据为空:%s\n",__FILE__,__LINE__);
			return -1;
		}
		//}
	}else
	{
		SysLog(LOG_CHNL_ERR,"FILE[%s] LINE[%d]获取传入交易信息失败\n"__FILE__,__LINE__);
		return -1;
	}
}
Пример #8
0
int load_vardef_cfg(char *filename)
{
	int shmid,i=0;
	char buff[1200];
	_vardef *vardef=NULL;
	char *tmpbuf = NULL;
	size_t shmsize;
	FILE *fp=NULL;


	memset(buff,0,sizeof(buff));
	/** init vardef **/
	shmsize=MAXVARDEF*sizeof(_vardef);
	if((shmid=getshmid(4,shmsize))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取交易定义表共享内存失败\n");
		return -1;
	}
	SysLog(LOG_SYS_SHOW,"开始加载变量定义区共享内存配置 \n");
	vardef = (_vardef *)shmat(shmid,NULL,0);
	if(vardef == NULL)
	{
		SysLog(LOG_SYS_ERR,"链接交易定义表共享内存失败\n");
		return -1;
	}
	fp = fopen(filename,"r");
	if(fp==NULL)
	{
		SysLog(LOG_SYS_ERR,"打开文件[%s]失败[%s]\n",filename,strerror(errno));
		shmdt(vardef);
		return -1;
	}
	while(fgets(buff,sizeof(buff),fp)!=NULL)
	{
		buff[strlen(buff)-1]='\0';
		if(buff[0]=='#')
		{
			//cmsg++;
			continue;
		}
		/** need if else **/
		strcpy(vardef->varname,strtok(buff,"^"));
		strcpy(vardef->varmark,strtok(NULL,"^"));
		strcpy(vardef->vartype,strtok(NULL,"^"));
		vardef->varlen=atoi(strtok(NULL,"^"));
		vardef++;
	}
	shmdt(vardef);
	fclose(fp);
	SysLog(LOG_SYS_SHOW,"加载变量定义区共享内存配置成功 \n");
	return 0;
}
Пример #9
0
HANDLE FileList::OpenPluginForFile(const string* FileName, DWORD FileAttr, OPENFILEPLUGINTYPE Type)
{
	HANDLE Result = nullptr;
	if(FileName && *FileName && !(FileAttr&FILE_ATTRIBUTE_DIRECTORY))
	{
		SetCurPath();
		_ALGO(SysLog(L"close AnotherPanel file"));
		CtrlObject->Cp()->GetAnotherPanel(this)->CloseFile();
		_ALGO(SysLog(L"call Plugins.OpenFilePlugin {"));
		Result = CtrlObject->Plugins->OpenFilePlugin(FileName, 0, Type);
		_ALGO(SysLog(L"}"));
	}
	return Result;
}
Пример #10
0
int	getchnlcfg(char *chnlname)
{
	FILE *fp;
	char	tmpbuf[60];
	memset(tmpbuf,0,sizeof(tmpbuf));
	char	cfgpath[100];
	memset(cfgpath,0,sizeof(cfgpath));

	if(chnlname == NULL)
	{
		SysLog(LOG_CHNL_ERR,"FILE [%s] LINE[%d] 传入渠道名称为空\n",__FILE__,__LINE__);
		return -1;
	}
	/** 初始化系统所有渠道的队列区 **/
	sprintf(cfgpath,"%s%s",upshome,"/cfg/chnl.cfg");
	fp = fopen(cfgpath,"r");
	if(fp == NULL)
	{
		SysLog(LOG_CHNL_ERR,"FILE [%s] LINE[%d]打开渠道初始化配置文件失败:[%s]\n",__FILE__,__LINE__,strerror(errno));
		return -1;
	}
	while(fgets(tmpbuf,sizeof(tmpbuf),fp)!=NULL)
	{
		tmpbuf[strlen(tmpbuf)-1]='\0';
		if(tmpbuf[0]=='*')
			continue;
		else if(tmpbuf[0]=='@'&&!strcmp(tmpbuf+1,chnlname))
		{
			while(fgets(tmpbuf,sizeof(tmpbuf),fp)!=NULL)
			{
				tmpbuf[strlen(tmpbuf)-1]='\0';
				if(!memcmp(tmpbuf,"队列管理器名称",14))
				{
					strcpy(QMName,strstr(tmpbuf,":")+1);
				}
				if(!memcmp(tmpbuf,"远程队列名称",12))
				{
					strcpy(RQName,strstr(tmpbuf,":")+1);
				}
				if(tmpbuf[0]=='@')
					return 0;
			}
		}else
		{
			continue;
		}
	}
}
Пример #11
0
void Manager::DeactivateFrame(Frame *Deactivated,int Direction)
{
	_MANAGER(CleverSysLog clv(L"Manager::DeactivateFrame (Frame *Deactivated,int Direction)"));
	_MANAGER(SysLog(L"Deactivated=%p, Direction=%d",Deactivated,Direction));

	if (Direction)
	{
		FramePos+=Direction;

		if (Direction>0)
		{
			if (FramePos>=FrameCount)
			{
				FramePos=0;
			}
		}
		else
		{
			if (FramePos<0)
			{
				FramePos=FrameCount-1;
			}
		}

		ActivateFrame(FramePos);
	}
	else
	{
		// Direction==0
		// Direct access from menu or (in future) from plugin
	}

	DeactivatedFrame=Deactivated;
}
Пример #12
0
Panel::Panel(window_ptr Owner):
	ScreenObject(std::move(Owner))
{
	_OT(SysLog(L"[%p] Panel::Panel()", this));
	SrcDragPanel=nullptr;
	DragX=DragY=-1;
};
Пример #13
0
void Manager::ExecuteModal(window_ptr_ref Executed)
{
	_MANAGER(CleverSysLog clv(L"Manager::ExecuteModal (window *Executed)"));
	_MANAGER(SysLog(L"Executed=%p",Executed));

	bool stop=false;
	auto& stop_ref=m_Executed[Executed];
	if (stop_ref) return;
	stop_ref=&stop;

	auto OriginalStartManager = StartManager;
	StartManager = true;

	for (;;)
	{
		Commit();

		if (stop)
		{
			break;
		}

		ProcessMainLoop();
	}

	StartManager = OriginalStartManager;
	return;// GetModalExitCode();
}
Пример #14
0
void Manager::RefreshFrame(Frame *Refreshed)
{
	_MANAGER(CleverSysLog clv(L"Manager::RefreshFrame(Frame *Refreshed)"));
	_MANAGER(SysLog(L"Refreshed=%p",Refreshed));

	if (ActivatedFrame)
		return;

	if (Refreshed)
	{
		RefreshedFrame=Refreshed;
	}
	else
	{
		RefreshedFrame=CurrentFrame;
	}

	if (IndexOf(Refreshed)==-1 && IndexOfStack(Refreshed)==-1)
		return;

	/* $ 13.04.2002 KM
	  - Вызываем принудительный Commit() для фрейма имеющего члена
	    NextModal, это означает что активным сейчас является
	    VMenu, а значит Commit() сам не будет вызван после возврата
	    из функции.
	    Устраняет ещё один момент неперерисовки, когда один над
	    другим находится несколько объектов VMenu. Пример:
	    настройка цветов. Теперь AltF9 в диалоге настройки
	    цветов корректно перерисовывает меню.
	*/
	if (RefreshedFrame && RefreshedFrame->NextModal)
		Commit();
}
Пример #15
0
void Manager::InsertWindow(window_ptr_ref Inserted)
{
	_MANAGER(CleverSysLog clv(L"Manager::InsertWindow(window *Inserted, int Index)"));
	_MANAGER(SysLog(L"Inserted=%p, Index=%i",Inserted, Index));

	CheckAndPushWindow(Inserted,&Manager::InsertCommit);
}
Пример #16
0
void Manager::RefreshCommit()
{
	_MANAGER(CleverSysLog clv(L"Manager::RefreshCommit()"));
	_MANAGER(SysLog(L"RefreshedFrame=%p",RefreshedFrame));

	if (!RefreshedFrame)
		return;

	if (IndexOf(RefreshedFrame)==-1 && IndexOfStack(RefreshedFrame)==-1)
		return;

	if (!RefreshedFrame->Locked())
	{
		if (!Global->IsRedrawFramesInProcess)
			RefreshedFrame->ShowConsoleTitle();

		if (RefreshedFrame)
			RefreshedFrame->Refresh();

		if (!RefreshedFrame)
			return;

		CtrlObject->Macro.SetMode(RefreshedFrame->GetMacroMode());
	}

	if ((Global->Opt->ViewerEditorClock &&
	        (RefreshedFrame->GetType() == MODALTYPE_EDITOR ||
	         RefreshedFrame->GetType() == MODALTYPE_VIEWER))
	        || (Global->WaitInMainLoop && Global->Opt->Clock))
		ShowTime(1);
}
Пример #17
0
FileViewer::FileViewer(const wchar_t *Name,int EnableSwitch,int DisableHistory,
                       const wchar_t *Title, int X1,int Y1,int X2,int Y2,UINT aCodePage): View(false,aCodePage)
{
	_OT(SysLog(L"[%p] FileViewer::FileViewer(II variant...)", this));
	DisableEdit=TRUE;

	if (X1 < 0)
		X1=0;

	if (X2 < 0 || X2 > ScrX)
		X2=ScrX;

	if (Y1 < 0)
		Y1=0;

	if (Y2 < 0 || Y2 > ScrY)
		Y2=ScrY;

	if (X1 >= X2)
	{
		X1=0;
		X2=ScrX;
	}

	if (Y1 >= Y2)
	{
		Y1=0;
		Y2=ScrY;
	}

	SetPosition(X1,Y1,X2,Y2);
	FullScreen=(!X1 && !Y1 && X2==ScrX && Y2==ScrY);
	View.SetTitle(Title);
	Init(Name,EnableSwitch,DisableHistory,-1,L"",nullptr,FALSE);
}
Пример #18
0
void FileList::Update(int Mode)
{
	_ALGO(CleverSysLog clv(L"FileList::Update"));
	_ALGO(SysLog(L"(Mode=[%d/0x%08X] %s)",Mode,Mode,(Mode==UPDATE_KEEP_SELECTION?L"UPDATE_KEEP_SELECTION":L"")));

	if (EnableUpdate)
		switch (PanelMode)
		{
			case NORMAL_PANEL:
				ReadFileNames(Mode & UPDATE_KEEP_SELECTION, Mode & UPDATE_IGNORE_VISIBLE,Mode & UPDATE_DRAW_MESSAGE);
				break;
			case PLUGIN_PANEL:
			{
				OpenPanelInfo Info;
				CtrlObject->Plugins->GetOpenPanelInfo(hPlugin,&Info);
				ProcessPluginCommand();

				if (PanelMode!=PLUGIN_PANEL)
					ReadFileNames(Mode & UPDATE_KEEP_SELECTION, Mode & UPDATE_IGNORE_VISIBLE,Mode & UPDATE_DRAW_MESSAGE);
				else if ((Info.Flags & OPIF_REALNAMES) ||
				         CtrlObject->Cp()->GetAnotherPanel(this)->GetMode()==PLUGIN_PANEL ||
				         !(Mode & UPDATE_SECONDARY))
					UpdatePlugin(Mode & UPDATE_KEEP_SELECTION, Mode & UPDATE_IGNORE_VISIBLE);
			}
			ProcessPluginCommand();
			break;
		}

	LastUpdateTime=clock();
}
Пример #19
0
void Manager::ModalizeFrame(Frame *Modalized, int Mode)
{
	_MANAGER(CleverSysLog clv(L"Manager::ModalizeFrame (Frame *Modalized, int Mode)"));
	_MANAGER(SysLog(L"Modalized=%p",Modalized));
	ModalizedFrame=Modalized;
	ModalizeCommit();
}
Пример #20
0
//------------------------------------------------------------------------------
// FUNCTION
//		macfilter_match
//
// DESCRIPTION
//
//  
// PARAMETERS
//
//  
// RETURN
//
//  
//------------------------------------------------------------------------------
int macfilter_match(struct ifnet *ifp, char *head, struct mbuf *m)
{
	struct macfilter *entry;
	struct ip *ip;
	int idx;

	if(m->m_pkthdr.len < 20)
		return default_action;
	ip = mtod(m, struct ip *);
    if ((ip->ip_dst.s_addr == SYS_lan_ip) ||
    	(ip->ip_dst.s_addr == INADDR_BROADCAST)){
        return MACF_PASS;
    }
        
	idx = MAC2INDEX(&head[6]);
	
	for (entry = macfilhash[idx]; entry != NULL; entry = entry->next) {
		if (! (entry->flags & MACF_FG_ACTIVE))
			continue;
		if(!memcmp(&head[6], entry->mac, 6)) {
#ifdef CONFIG_MACFLT_LOG
			if((MACF_BLOCK^default_action) == MACF_BLOCK)
				SysLog(LOG_DROPPK|SYS_LOG_NOTICE|LOGM_FIREWALL, "**%s** [%s] match", STR_FILTER, ether_ntoa((struct ether_addr *)(entry->mac)));
#endif
			return MACF_BLOCK^default_action;
		}
	}
	return default_action;
}
Пример #21
0
void Manager::UnmodalizeFrame(Frame *Unmodalized)
{
	_MANAGER(CleverSysLog clv(L"Manager::UnmodalizeFrame (Frame *Unmodalized)"));
	_MANAGER(SysLog(L"Unmodalized=%p",Unmodalized));
	UnmodalizedFrame=Unmodalized;
	UnmodalizeCommit();
}
Пример #22
0
/* $ 12.04.2002 IS
     PluginPutFilesToAnother теперь int - возвращает то, что возвращает
     PutFiles:
     -1 - прервано пользовтелем
      0 - неудача
      1 - удача
      2 - удача, курсор принудительно установлен на файл и заново его
          устанавливать не нужно (см. PluginPutFilesToNew)
*/
int FileList::PluginPutFilesToAnother(int Move,Panel *AnotherPanel)
{
	if (AnotherPanel->GetMode()!=PLUGIN_PANEL)
		return 0;

	FileList *AnotherFilePanel=(FileList *)AnotherPanel;
	PluginPanelItem *ItemList;
	int ItemNumber,PutCode=0;
	SaveSelection();
	CreatePluginItemList(ItemList,ItemNumber);

	if (ItemList && ItemNumber>0)
	{
		SetCurPath();
		_ALGO(SysLog(L"call Plugins.PutFiles"));
		PutCode=CtrlObject->Plugins->PutFiles(AnotherFilePanel->hPlugin,ItemList,ItemNumber,Move!=0,0);

		if (PutCode==1 || PutCode==2)
		{
			if (!ReturnCurrentFile)
			{
				_ALGO(SysLog(L"call ClearSelection()"));
				ClearSelection();
			}

			_ALGO(SysLog(L"call PutDizToPlugin"));
			PutDizToPlugin(AnotherFilePanel,ItemList,ItemNumber,FALSE,Move,&Diz,&AnotherFilePanel->Diz);
			AnotherPanel->SetPluginModified();
		}
		else if (!ReturnCurrentFile)
			PluginClearSelection(ItemList,ItemNumber);

		_ALGO(SysLog(L"call DeletePluginItemList"));
		DeletePluginItemList(ItemList,ItemNumber);
		Update(UPDATE_KEEP_SELECTION);
		Redraw();

		if (AnotherPanel==CtrlObject->Cp()->GetAnotherPanel(this))
		{
			AnotherPanel->Update(UPDATE_KEEP_SELECTION);
			AnotherPanel->Redraw();
		}
	}

	return PutCode;
}
Пример #23
0
bool COptimizedTexture::SaveDescriptions(char *resfile, char *texfile, char *texname)
{
	GfxObjIterator it;
	FILE *fp;

	// check for data to be available
	if(!GetNumPlaced())
	{
		SysLog("No descriptions to save: %s\n", resfile);
		return false;
	}

	// create resource file
	fp=fopen(resfile,"w");
	if(!fp)
	{
		SysLog("Can't create description file: %s\n", resfile);
		return false;
	}

	// save texture description
	if(texfile && texname)
	{
		fprintf(fp, "Texture %s\n", texname);
		fprintf(fp, "{\n");
		fprintf(fp, " filename = \"%s\"\n", texfile);
		fprintf(fp, " resgroup = %d\n", (*obj_list.begin())->GetResGroup());
		fprintf(fp, "}\n\n");
	}

	// save object descriptions
	for(it = obj_list.begin(); it != obj_list.end(); it++)
	{
		if(!(*it)->SaveDescription(fp, texname))
		{
			fclose(fp);
			SysLog("Error writing description: %s\n", (*it)->GetName());
			return false;
		}

		fprintf(fp,"\n");
	}

	fclose(fp);
	return true;
}
Пример #24
0
CBaLog* CBaLog::commonCreate(std::string name, std::string path, EBaLogPrio prioFilt,
      EBaLogOut out, int32_t maxFileSizeB, uint16_t maxNoFiles, uint16_t maxBufLength,
      uint16_t fileCnt, int32_t fileSizeB, bool fromCfg, bool disableThread)  {

   if (name.empty() || !init(disableThread)) {
      return 0;
   }

   // Check if already exists
   auto logger = sLoggers.find(name);
   if (logger != sLoggers.end()) {
      logger->second->mOpenCnt++;
      return logger->second;
   }

   // Set default
   if (path == "") {
      path = LOGDIR;
   }

   // Limit the priorities
   prioFilt = MINMAX(prioFilt, eBaLogPrio_Trace, eBaLogPrio_UpsCrash);

   // //////////////// Create //////////////
   // If windows, remove the trailing '\' because it generates problems with the
   // when the path is saved with the IniParser
#ifdef __WIN32
   if (path.back() == '\\') {
      path.resize(path.length() - 1);
   }
#endif

   CBaLog *p = new CBaLog(name, path, prioFilt, out, maxFileSizeB, maxNoFiles, maxBufLength, fileCnt,
         fileSizeB);
   if (!p) {
      SysLog(TAG, __LINE__, "Could not create logger");
      return 0;
   }
   // //////////////// Create //////////////

   p->mFullPath = BaPath::Concatenate(p->mPath, p->mName) + ".log";
   std::ios_base::openmode om = std::ios_base::binary | std::ios_base::out;
   if (fromCfg) {
      om |= std::ios_base::app;
   }

   // //////////////// Open ////////////////
   p->mLog.open(p->mFullPath, om);
   if (p->mLog.fail()) {
      BASYSLOG(TAG, "Cannot open log file: %s", p->mFullPath.c_str());
      delete p;
      return 0;
   }
   // //////////////// Open ////////////////

   sLoggers[p->mName] = p;
   return p;
}
Пример #25
0
void Sys::log(const char*level,const char* file, const char* function, const char * format,
		...) {

	va_list args;
	va_start(args, format);
	SysLog(level,file, function, format, args);
	va_end(args);

}
Пример #26
0
void FilePanels::SetScreenPosition()
{
	_OT(SysLog(L"[%p] FilePanels::SetScreenPosition() {%d, %d - %d, %d}", this,X1,Y1,X2,Y2));
	CtrlObject->CmdLine->SetPosition(0,ScrY-(Opt.ShowKeyBar),ScrX-1,ScrY-(Opt.ShowKeyBar));
	TopMenuBar.SetPosition(0,0,ScrX,0);
	MainKeyBar.SetPosition(0,ScrY,ScrX,ScrY);
	SetPanelPositions(LeftPanel->IsFullScreen(),RightPanel->IsFullScreen());
	SetPosition(0,0,ScrX,ScrY);
}
Пример #27
0
void FilePanels::ResizeConsole()
{
	Frame::ResizeConsole();
	CtrlObject->CmdLine->ResizeConsole();
	MainKeyBar.ResizeConsole();
	TopMenuBar.ResizeConsole();
	SetScreenPosition();
	_OT(SysLog(L"[%p] FilePanels::ResizeConsole() {%d, %d - %d, %d}", this,X1,Y1,X2,Y2));
}
Пример #28
0
int	initmsg(char	*chnlname)
{
	char	keypath[60];
	char	tmptouch[66];
	memset(keypath,0,sizeof(keypath));
	memset(tmptouch,0,sizeof(tmptouch));
	sprintf(keypath,"%s%s%s",upshome,"/etc/",chnlname);
	sprintf(tmptouch,"touch %s",keypath);
	system(tmptouch);
	key_t	key;
	int msgid;
	/** 发送到核心队列**/
	if((key=ftok(keypath,1))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取渠道[%s]消息队列key值失败[%s]",chnlname,strerror(errno));
		return -1;
	}
	if((msgid = msgget(key,IPC_CREAT|IPC_EXCL|00666))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取渠道[%s]消息队列失败[%s]",chnlname,strerror(errno));
		return -1;
	}
	SysLog(LOG_SYS_SHOW,"FILE[%s]LINE[%d]渠道[%s]发送核心消息队列为[%d]\n",__FILE__,__LINE__,chnlname,msgid);
	/**接收核心返回队列**/
	if((key=ftok(keypath,2))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取渠道[%s]消息队列key值失败[%s]",chnlname,strerror(errno));
		return -1;
	}
	if((msgid = msgget(key,IPC_CREAT|IPC_EXCL|00666))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取渠道[%s]消息队列失败[%s]",chnlname,strerror(errno));
		return -1;
	}
	SysLog(LOG_SYS_SHOW,"FILE[%s]LINE[%d]渠道[%s]接收核心消息队列为[%d]\n",__FILE__,__LINE__,chnlname,msgid);
	/** 返回核心应答队列**/
	if((key=ftok(keypath,3))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取渠道[%s]消息队列key值失败[%s]",chnlname,strerror(errno));
		return -1;
	}
	if((msgid = msgget(key,IPC_CREAT|IPC_EXCL|00666))==-1)
	{
		SysLog(LOG_SYS_ERR,"获取渠道[%s]消息队列失败[%s]",chnlname,strerror(errno));
		return -1;
	}
	SysLog(LOG_SYS_SHOW,"FILE[%s]LINE[%d]渠道[%s]返回核心应答消息队列为[%d]\n",__FILE__,__LINE__,chnlname,msgid);
	return  0;
}
Пример #29
0
void Manager::DeleteWindow(window_ptr_ref Deleted)
{
	_MANAGER(CleverSysLog clv(L"Manager::DeleteWindow(window *Deleted)"));
	_MANAGER(SysLog(L"Deleted=%p",Deleted));

	const auto& Window=Deleted?Deleted:m_currentWindow;
	assert(Window);
	CheckAndPushWindow(Window,&Manager::DeleteCommit);
	Window->SetDeleting();
}
Пример #30
0
void DlgEdit::DoEditChange()
{
	auto dialog=GetDialog();
	_DIALOG(CleverSysLog CL(L"DlgEdit::DoEditChange()"));
	_DIALOG(SysLog(L"m_Owner=%p, m_Owner->IsInited()=%d, m_Index=%d",dialog,dialog->IsInited(),m_Index));
	if (dialog->IsInited())
	{
		dialog->SendMessage(DN_EDITCHANGE,m_Index,0);
	}
}