コード例 #1
0
//============================================================================================================
// on_pbProcessConfig_clicked
//------------------------------------------------------------------------------------------------------------
// Activated when Process config button clicked
// Read the target config file into memory, process the content of the file, fill the test item listbox
// based on the content of the target config file and finally fill the listbox contains the list of the
// comments (the comments comes from config file, but can be edited in the preferences dialog)
//============================================================================================================
void dlgConfigEditor::on_pbProcessConfig_clicked()
{
    cTracer tracer("on_pbProcessConfig_clicked");

    m_bSilentMode   = false;
    m_bOnlyTP       = false;

    m_dlgProgress->showProgress();
    _readConfigFile();
    _fillListView();
    _fillListTypes();
    m_dlgProgress->hideProgress();

    ui->chkSilent->setChecked( m_bSilentMode );
    ui->chkOnlyTP->setChecked( m_bOnlyTP );
}
コード例 #2
0
ファイル: main.cpp プロジェクト: ETRI-PEC/PPSP
int main(int argc, char* argv[])
{
	int idx = 1;
	std::string filename = "";
	std::string ipaddress = "";
	int port = 0;

	std::string trackerip = "";
	int trackerport = 0;

	std::string hash = "";

	int listenOpt = 0;

	if (argc < 2)
	{
		_usage();
		exit(0);
	}

	while (argc > idx)
	{

		char* arg = argv[idx];

		if (strlen(arg) == 2 && arg[0] == '-')
		{
			idx++;

			switch (arg[1])
			{
			case 'h':
				printf("h : %s\n", argv[idx]);
				hash = argv[idx];

				break;

			case 't':
			{
				printf("t : %s\n", argv[idx]);
				char* semi = strchr(argv[idx], ':');
				if (semi)
				{
					*semi = 0;
					trackerip = argv[idx];
					trackerport = atoi(semi + 1);
				}
				else
				{
					port = atoi(argv[idx]);
				}

				break;
			}

			case 'f':
				printf("f : %s\n", argv[idx]);
				filename = argv[idx];
				break;

			case 'l':
			{
				printf("l : %s\n", argv[idx]);
				char* semi = strchr(argv[idx], ':');
				if (semi)
				{
					*semi = 0;
					ipaddress = argv[idx];
					port = atoi(semi + 1);
				}
				else
				{
					port = atoi(argv[idx]);
				}
				break;
			}
			case 'd':
				SetLogLevel(LOG_LEVEL_DEBUG);
				idx--;
				break;
			case 'o':
				listenOpt = 1;
				idx--;
				break;
			}

			idx++;
		}		
	}

	if (trackerip.length() > 0)
	{
		if (hash.length() <= 0)
		{
			_usage();
			exit(0);
		}

		if (trackerport <= 0)
		{
			_usage();
			exit(0);
		}

		if (port <= 0)
		{
			_usage();
			exit(0);
		}
	}
	else
	{
		if (port <= 0)
		{
			_usage();
			exit(0);
		}

		if (filename.length() <= 0)
		{
			_usage();
			exit(0);
		}
	}

	MetaDataSt metaData;
	_readConfigFile(metaData);

	HTTP_Startup();
	
	PPServer ppserver;
	ppserver.SetPort(port);
	ppserver.SetIpAddress(ipaddress);
	ppserver.SetFileName(filename);
	ppserver.SetSwarmID(hash);
	ppserver.SetTrackerIpAddress(trackerip);
	ppserver.SetTrackerPort(trackerport);

	ppserver.SetVersion(metaData.version);
	ppserver.SetMinVersion(metaData.mkinVersion);
	ppserver.SetContentIntegrityProtectionMethod(metaData.contentIntegrityProtectionMethod);
	ppserver.SetMerkleHashTreeFunction(metaData.merkleHashTreeFunction);
	ppserver.SetLiveSignatureAlgorithm(metaData.liveSignatureAlgorithm);
	ppserver.SetChunkAddressingMethod(metaData.chunkAddressingMethod);
	ppserver.SetChunkSize(metaData.chunkSize);
	ppserver.SetRetryCount(metaData.retryCount);
	ppserver.SetKeepAliveInterval(metaData.keepAliveInterval);
	ppserver.SetPexReqInterval(metaData.pexReqInterval);
	ppserver.SetListenPortOption(listenOpt);
	
	if (!ppserver.Start())
	{
		exit(0);
	}
	
	ppserver.Join();

	HTTP_Cleanup();

	return 0;
}