Exemplo n.º 1
0
int main(int argc, char* argv[])
{
  if ((argc < 2) || (argc > 4))
  {
    fprintf(stderr, "Usage: (depends on the parameters)\n");
    fprintf(stderr, "   %s type filename sha1.md5.len\n", argv[0]);
    fprintf(stderr, "   echo 'sha1.md5.len filename' | %s type\n", argv[0]);
    fprintf(stderr, "   echo '<xml from ununpack>...</xml>' | %s typesource type\n", argv[0]);
    fprintf(stderr, "     type = repository for storing files\n");
    fprintf(stderr, "     typesource = repository for storing source files (XML only)\n");
    exit(-1);
  }

  switch (argc)
  {
    case 2:        /* pairs from stdin */
      ProcessPairs(stdin, argv[1]);
      break;
    case 3:        /* pairs from XML */
      ProcessXML(stdin, argv[1], argv[2]);
      break;
    case 4:        /* pairs from command-line */
      CopyFile(argv[2], argv[1], argv[3]);
      break;
  }

  printf("Total Imported:   %ld\n", TotalImported);
  printf("Total Duplicates: %ld\n", TotalDuplicate);
  printf("Total Errors:     %ld\n", TotalError);
  if (TotalError > 0) return (1);
  return (0);
} /* main() */
Exemplo n.º 2
0
BOOL CNetworkMonitorBox::ProcessXML(HANDLE hSnapshot, POSITION posNext)
{
	CXMLElement* pXML = Profiles.FindProcess( NULL, posNext );
	if ( pXML == NULL ) return FALSE;
	
	PROCESSENTRY32 pe;
	pe.dwSize = sizeof( PROCESSENTRY32 );
	
	for ( BOOL bRetval = Process32First(hSnapshot,&pe); bRetval; )
	{
		if ( HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pe.th32ProcessID ) )
		{
			TCHAR szPath[128];
			if ( GetModuleFileNameEx( hProcess, NULL, szPath, MAX_PATH ) )
TRACE("%s\n", szPath);
			CloseHandle( hProcess );
		}
		
		pe.dwSize = sizeof( PROCESSENTRY32 );
		bRetval = Process32Next( hSnapshot, &pe );
	}
	
	if ( posNext ) return ProcessXML( hSnapshot, posNext );
	return TRUE;
}
Exemplo n.º 3
0
BOOL CNetworkMonitorBox::ProcessXML(POSITION posNext)
{
	CXMLElement* pXML = Profiles.FindProcess( NULL, posNext );
	if ( pXML == NULL ) return FALSE;
	
	CSingleLock pLock( &Network.m_pSection, TRUE );
	
	CString strValue = pXML->GetAttributeValue( "Host" );
	
	if ( CChannel* pChannel = Network.FindChannel( strValue ) )
	{
		if ( pChannel->m_hSocket == INVALID_SOCKET && pChannel->TimeOut( 60 * 1000 ) ) 
		{
			CXMLAttribute* pAttri = pXML->GetAttribute( "Retry" );
			if ( ! pAttri ) pAttri = pXML->AddAttribute( "Retry" );
			
			if ( _ttoi( pAttri->GetValue() ) >= 2 )
			{
				AlarmToShortMessage( (LPCTSTR)strValue );
				strValue = pXML->GetAttributeValue( _T("Path") );
				RestartMachine( (LPCTSTR)strValue );
				
				pXML->DeleteAttribute( "Retry" );
			}
			else
			{
				strValue.Format( "%i", _ttoi( pAttri->GetValue() ) + 1 );
				pAttri->SetValue( (LPCTSTR)strValue );
				
				pChannel->LinkRestart();
				pChannel->m_tConnected	= GetTickCount();
			}
		}
		else
		if ( pChannel->IsConnected() )
		{
			pXML->DeleteAttribute( "Retry" );
		}
	}
	else
	{
		CChannel* pChannel = new CSentryChannel( pXML );
		Network.SetChannel( pChannel );
		
		pChannel->LinkRestart();
	}
	
	if ( posNext ) return ProcessXML( posNext );
	return TRUE;
}
Exemplo n.º 4
0
BOOL CNetworkMonitorBox::ClearProcess(POSITION posNext)
{
	CXMLElement* pXML = Profiles.FindProcess( NULL, posNext );
	if ( pXML == NULL ) return FALSE;
	
	CSingleLock pLock( &Network.m_pSection, TRUE );
	
	CString strValue = pXML->GetAttributeValue( "Host" );
	
	CChannel* pChannel = Network.FindChannel( strValue );
	if ( pChannel ) pChannel->Release();
	
	if ( posNext ) return ProcessXML( posNext );
	return TRUE;
}
Exemplo n.º 5
0
void CNetworkMonitorBox::OnTimer(UINT nIDEvent) 
{
/*	HANDLE hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
	if ( hSnapshot == INVALID_HANDLE_VALUE ) return;
	
	ProcessXML( hSnapshot, NULL );
	CloseHandle( hSnapshot );
	
	if ( nIDEvent == 88 )
	{
		m_wndClock.SetStyle( CEDClock::EClockStyle::XDC_FLOWNEXT );
	}
	*/
	//if ( (nIDEvent >> 4) == CEDClock::XDC_FLOWBACK ) 
	ProcessXML( NULL );
	
	CTaskBox::OnTimer( nIDEvent );
}