コード例 #1
0
int SettingRegistry::loadJSONsettings(std::string filename, SettingsBase* settings_base, bool warn_base_file_duplicates)
{
    rapidjson::Document json_document;
    
    log("Loading %s...\n", filename.c_str());

    int err = loadJSON(filename, json_document);
    if (err) { return err; }

    if (json_document.HasMember("inherits") && json_document["inherits"].IsString())
    {
        std::string child_filename;
        bool found = getDefinitionFile(json_document["inherits"].GetString(), filename, child_filename);
        if (!found)
        {
            return -1;
        }
        err = loadJSONsettings(child_filename, settings_base, warn_base_file_duplicates); // load child first
        if (err)
        {
            return err;
        }
        err = loadJSONsettingsFromDoc(json_document, settings_base, false);
    }
    else 
    {
        err = loadJSONsettingsFromDoc(json_document, settings_base, warn_base_file_duplicates);
    }

    if (json_document.HasMember("metadata") && json_document["metadata"].IsObject())
    {
        const rapidjson::Value& json_metadata = json_document["metadata"];
        if (json_metadata.HasMember("machine_extruder_trains") && json_metadata["machine_extruder_trains"].IsObject())
        {
            const rapidjson::Value& json_machine_extruder_trains = json_metadata["machine_extruder_trains"];
            for (rapidjson::Value::ConstMemberIterator extr_train_iterator = json_machine_extruder_trains.MemberBegin(); extr_train_iterator != json_machine_extruder_trains.MemberEnd(); ++extr_train_iterator)
            {
                int extruder_train_nr = atoi(extr_train_iterator->name.GetString());
                if (extruder_train_nr < 0)
                {
                    continue;
                }
                const rapidjson::Value& json_id = extr_train_iterator->value;
                if (!json_id.IsString())
                {
                    continue;
                }
                const char* id = json_id.GetString();
                if (extruder_train_nr >= (int) extruder_train_ids.size())
                {
                    extruder_train_ids.resize(extruder_train_nr + 1);
                }
                extruder_train_ids[extruder_train_nr] = std::string(id);
            }
        }
    }

    return err;
}
コード例 #2
0
int SettingRegistry::loadExtruderJSONsettings(unsigned int extruder_nr, SettingsBase* settings_base)
{
    if (extruder_nr >= extruder_train_ids.size())
    {
        return -1;
    }
    
    std::string definition_file;
    bool found = getDefinitionFile(extruder_train_ids[extruder_nr], "", definition_file);
    if (!found)
    {
        return -1;
    }
    bool warn_base_file_duplicates = false;
    return loadJSONsettings(definition_file, settings_base, warn_base_file_duplicates);
}
コード例 #3
0
ファイル: session.cpp プロジェクト: 151706061/DVTK-1
bool BASE_SESSION_CLASS::loadDefinition(string definitionFileName)

//  DESCRIPTION     : Load the given definition file.
//  PRECONDITIONS   :
//  POSTCONDITIONS  :
//  EXCEPTIONS      :
//  NOTES           :
//<<===========================================================================
{
	bool result = false;

    bool loaded = false;
    UINT nrOfDefinitionFiles = noDefinitionFiles();
    for (UINT index = 0; index < nrOfDefinitionFiles; index++)
    {
        DEFINITION_FILE_CLASS* pDefFile = getDefinitionFile(index);
		const char* defFileName = pDefFile->getFilename();
		if(!isPathAbsolute((char*)defFileName))
		{
			defFileName = pDefFile->getAbsoluteFilename();
		}
        if (strcmp(defFileName, definitionFileName.c_str()) == 0)
        {
            loaded = true;
            result = true;
            break;
        }
    }
    // Skip loading if already loaded.
    if (loaded) return result;

	// allocate a new defintion file
	DEFINITION_FILE_CLASS	*definitionFile_ptr = new DEFINITION_FILE_CLASS(this, definitionFileName);

	if (definitionFile_ptr)
	{
		if (loggerM_ptr)
		{
			loggerM_ptr->text(LOG_NONE, 1, "Loading Definition File: -");
			loggerM_ptr->text(LOG_NONE, 1, "\t%s", definitionFile_ptr->getFilename());
		}

		// load defintion file
		result = definitionFile_ptr->Load();

		// on success add file to session list
		if (result)
		{
			addDefinitionFile(definitionFile_ptr);

			// check if the abstract mapping need setting up
			checkAbstractMappings();
		}
		else
		{
			// failed to load definition file
			if (loggerM_ptr)
			{
				loggerM_ptr->text(LOG_NONE, 1, "%s %s", VAL_PREFIX_FAILED, definitionFile_ptr->getFilename());
			}

			delete definitionFile_ptr;
		}
	}

	// return the load result
	return result;
}
コード例 #4
0
ファイル: emulator_session.cpp プロジェクト: 151706061/DVTK-1
bool EMULATOR_SESSION_CLASS::serialise(FILE *file_ptr)

//  DESCRIPTION     : Serialise the script session to file.
//  PRECONDITIONS   :
//  POSTCONDITIONS  :
//  EXCEPTIONS      :
//  NOTES           :
//<<===========================================================================
{
	// write the file contents
	fprintf(file_ptr, "SESSION\n\n");
	fprintf(file_ptr, "SESSION-TYPE emulator\n");
	fprintf(file_ptr, "SESSION-FILE-VERSION %d\n", CURRENT_SESSION_FILE_VERSION);

	fprintf(file_ptr, "\n# Product Test Session Properties\n");
	fprintf(file_ptr, "SESSION-TITLE \"%s\"\n", getSessionTitle());
	fprintf(file_ptr, "SESSION-ID %03d\n", getSessionId());
	fprintf(file_ptr, "MANUFACTURER \"%s\"\n", getManufacturer());
	fprintf(file_ptr, "MODEL-NAME \"%s\"\n", getModelName());
	fprintf(file_ptr, "SOFTWARE-VERSIONS \"%s\"\n", getSoftwareVersions());
	fprintf(file_ptr, "APPLICATION-ENTITY-NAME \"%s\"\n", getApplicationEntityName());
	fprintf(file_ptr, "APPLICATION-ENTITY-VERSION \"%s\"\n", getApplicationEntityVersion());
	fprintf(file_ptr, "TESTED-BY \"%s\"\n", getTestedBy());
	fprintf(file_ptr, "DATE \"%s\"\n", getDate());

    fprintf(file_ptr, "\n# SUT ACSE Properties\n");
	fprintf(file_ptr, "SUT-ROLE ");
	switch(getSutRole())
    {
    case UP_ACCEPTOR_REQUESTOR:
        fprintf(file_ptr, "acceptorAndRequestor\n");
        break;
    case UP_ACCEPTOR:
        fprintf(file_ptr, "acceptor\n");
        break;
    case UP_REQUESTOR:
        fprintf(file_ptr, "requestor\n");
        break;
    default:
        break;
    }
	fprintf(file_ptr, "SUT-AE-TITLE \"%s\"\n", getSutAeTitle());
	fprintf(file_ptr, "SUT-MAXIMUM-LENGTH-RECEIVED %d\n", getSutMaximumLengthReceived());
	fprintf(file_ptr, "SUT-IMPLEMENTATION-CLASS-UID \"%s\"\n", getSutImplementationClassUid());
	fprintf(file_ptr, "SUT-IMPLEMENTATION-VERSION-NAME ");
	if (getSutImplementationVersionName())
		fprintf(file_ptr, "\"%s\"\n", getSutImplementationVersionName());
	else
		fprintf(file_ptr, "\"\"\n");

	fprintf(file_ptr, "\n# DVT ACSE Properties\n");
	fprintf(file_ptr, "DVT-AE-TITLE \"%s\"\n", getDvtAeTitle());
	fprintf(file_ptr, "DVT-MAXIMUM-LENGTH-RECEIVED %d\n", getDvtMaximumLengthReceived());
	fprintf(file_ptr, "DVT-IMPLEMENTATION-CLASS-UID \"%s\"\n", getDvtImplementationClassUid());
	fprintf(file_ptr, "DVT-IMPLEMENTATION-VERSION-NAME ");
	if (getDvtImplementationVersionName())
		fprintf(file_ptr, "\"%s\"\n", getDvtImplementationVersionName());
	else
		fprintf(file_ptr, "\"\"\n");

	fprintf(file_ptr, "\n# Socket Properties\n");
	fprintf(file_ptr, "SUT-HOSTNAME \"%s\"\n", getSutHostname());
	fprintf(file_ptr, "SUT-PORT %d\n", getSutPort());
	fprintf(file_ptr, "DVT-PORT %d\n", getDvtPort());
	fprintf(file_ptr, "DVT-SOCKET-TIMEOUT %d\n", getDvtSocketTimeout());
	fprintf(file_ptr, "USE-SECURE-SOCKETS %s\n", (getUseSecureSockets()) ? "true" : "false");
	fprintf(file_ptr, "TLS-VERSION \"%s\"\n", getTlsVersion());
	fprintf(file_ptr, "CHECK-REMOTE-CERTIFICATE %s\n", (getCheckRemoteCertificate()) ? "true" : "false");
	fprintf(file_ptr, "CIPHER-LIST \"%s\"\n", getCipherList());
	fprintf(file_ptr, "CACHE-TLS-SESSIONS %s\n", (getCacheTlsSessions()) ? "true" : "false");
	fprintf(file_ptr, "TLS-CACHE-TIMEOUT %d\n", getTlsCacheTimeout());
	fprintf(file_ptr, "CREDENTIALS-FILENAME \"%s\"\n", getCredentialsFilename().c_str());
	fprintf(file_ptr, "CERTIFICATE-FILENAME \"%s\"\n", getCertificateFilename().c_str());

	fprintf(file_ptr, "\n# Test Session Properties\n");
	fprintf(file_ptr, "LOG-ERROR %s\n", (isLogLevel(LOG_ERROR)) ? "true" : "false");
	fprintf(file_ptr, "LOG-WARNING %s\n", (isLogLevel(LOG_WARNING)) ? "true" : "false");
	fprintf(file_ptr, "LOG-INFO %s\n", (isLogLevel(LOG_INFO)) ? "true" : "false");
	fprintf(file_ptr, "LOG-RELATION %s\n", (isLogLevel(LOG_IMAGE_RELATION)) ? "true" : "false");
	fprintf(file_ptr, "LOG-DEBUG %s\n", (isLogLevel(LOG_DEBUG)) ? "true" : "false");

	fprintf(file_ptr, "LOG-DULP-STATE %s\n", (isLogLevel(LOG_DULP_FSM)) ? "true" : "false");
	fprintf(file_ptr, "LOG-SCP-THREAD %s\n", (getLogScpThread()) ? "true" : "false");
	fprintf(file_ptr, "PDU-DUMP %s\n", (isLogLevel(LOG_PDU_BYTES)) ? "true" : "false");

	fprintf(file_ptr, "STORAGE-MODE ");
	switch(getStorageMode())
	{
	case SM_AS_MEDIA:
		fprintf(file_ptr, "as-media\n");
		break;
	case SM_AS_DATASET:
		fprintf(file_ptr, "as-dataset\n");
		break;
	case SM_NO_STORAGE:
	default:
		fprintf(file_ptr, "no-storage\n");
		break;
	}

	fprintf(file_ptr, "STRICT-VALIDATION %s\n", (getStrictValidation()) ? "true" : "false");
	fprintf(file_ptr, "DETAILED-VALIDATION-RESULTS %s\n", (getDetailedValidationResults()) ? "true" : "false");
	fprintf(file_ptr, "SUMMARY-VALIDATION-RESULTS %s\n", (getSummaryValidationResults()) ? "true" : "false");
	fprintf(file_ptr, "INCLUDE-TYPE-3-NOTPRESENT-INRESULTS %s\n", (getIncludeType3NotPresentInResults()) ? "true" : "false");
	fprintf(file_ptr, "AUTO-TYPE-2-ATTRIBUTES %s\n", (getAutoType2Attributes()) ? "true" : "false");
	fprintf(file_ptr, "DEFINE-SQ-LENGTH %s\n", (getDefineSqLength()) ? "true" : "false");
	fprintf(file_ptr, "ADD-GROUP-LENGTH %s\n", (getAddGroupLength()) ? "true" : "false");

	fprintf(file_ptr, "\n# Supported Transfer Syntaxes\n");
	for (int i = 0; i < noSupportedTransferSyntaxes(); i++)
	{
		fprintf(file_ptr, "SUPPORTED-TRANSFER-SYNTAX \"%s\"\n", getSupportedTransferSyntax(i));
	}

	fprintf(file_ptr, "\n# Definitions\n");
	for (UINT i = 0; i < noDefinitionDirectories(); i++)
	{
		fprintf(file_ptr, "DEFINITION-DIRECTORY \"%s\"\n", getDefinitionDirectory(i).c_str());
	}

	for (unsigned int j = 0; j < noDefinitionFiles(); j++)
	{
		DEFINITION_FILE_CLASS *definitionFile_ptr = getDefinitionFile(j);
		fprintf(file_ptr, "DEFINITION \"%s\"\n", definitionFile_ptr->getFilename());
	}

	fprintf(file_ptr, "\n# Results\n");
	fprintf(file_ptr, "RESULTS-ROOT \"%s\"\n", getResultsRoot());
	fprintf(file_ptr, "APPEND-TO-RESULTS-FILE %s\n", (getAppendToResultsFile()) ? "true" : "false");

	fprintf(file_ptr, "\n# Data Directory\n");
	fprintf(file_ptr, "DATA-DIRECTORY \"%s\"\n", getDataDirectory());

	fprintf(file_ptr, "\n# DICOMScript Description Directory\n");
	fprintf(file_ptr, "DESCRIPTION-DIRECTORY \"%s\"\n", getDescriptionDirectory().c_str());

	fprintf(file_ptr, "\nENDSESSION\n");

	// return success
	return true;
}