Ejemplo n.º 1
0
ISCORE_PLUGIN_SCENARIO_EXPORT void Visitor<Writer<DataStream>>::writeTo(Scenario::StateModel& s)
{
    // Common metadata
    writeTo(s.metadata);

    m_stream >> s.m_eventId
            >> s.m_previousConstraint
            >> s.m_nextConstraint
            >> s.m_heightPercentage;

    // Message tree
    Process::MessageNode n;
    m_stream >> n;
    s.m_messageItemModel = new Scenario::MessageItemModel{s.m_stack, s, &s};
    s.messages() = n;

    // Processes plugins
    int32_t process_count;
    m_stream >> process_count;
    auto& pl = context.components.factory<Process::StateProcessList>();
    for(; process_count -- > 0;)
    {
        s.stateProcesses.add(deserialize_interface(pl, *this, &s));
    }


    checkDelimiter();
}
Ejemplo n.º 2
0
void Visitor<Writer<DataStream>>::writeTo(
        Dummy::DummyModel& proc)
{
    proc.pluginModelList = new iscore::ElementPluginModelList{*this, &proc};

    checkDelimiter();
}
Ejemplo n.º 3
0
template<> void Visitor<Writer<DataStream>>::writeTo(Scenario::BaseScenario& base_scenario)
{
    writeTo(static_cast<Scenario::BaseScenarioContainer&>(base_scenario));
    base_scenario.pluginModelList = iscore::ElementPluginModelList{*this, &base_scenario};

    checkDelimiter();
}
void Visitor<Writer<DataStream>>::writeTo(
        Network::NetworkDocumentPlugin& elt)
{
    elt.m_groups = new Network::GroupManager{*this, &elt};
    elt.m_policy = new Network::PlaceholderNetworkPolicy{*this, &elt};

    checkDelimiter();
}
void Visitor<Writer<DataStream>>::writeTo(GroupMetadata& elt)
{
    id_type<Group> id;
    m_stream >> id;
    elt.setGroup(id);

    checkDelimiter();
}
Ejemplo n.º 6
0
void DataStreamWriter::write(PresetState::Model& proc)
{
    QString str;
    m_stream >> str;
    proc.setFile(str);

    checkDelimiter();
}
Ejemplo n.º 7
0
void Visitor<Writer<DataStream>>::writeTo(JSProcessModel& proc)
{
    proc.pluginModelList = new iscore::ElementPluginModelList{*this, &proc};

    QString str;
    m_stream >> str;
    proc.setScript(str);

    checkDelimiter();
}
Ejemplo n.º 8
0
void DataStreamWriter::write(Media::Merger::Model& proc)
{
  writePorts(
      *this,
      components.interfaces<Process::PortFactoryList>(),
      proc.m_inlets,
      proc.m_outlets,
      &proc);

  m_stream >> proc.m_inCount;
  checkDelimiter();
}
void Visitor<Writer<DataStream>>::writeTo(ScenarioModel& scenario)
{
    scenario.pluginModelList = new iscore::ElementPluginModelList{*this, &scenario};

    m_stream >> scenario.m_startTimeNodeId
             >> scenario.m_endTimeNodeId;
    m_stream >> scenario.m_startEventId
             >> scenario.m_endEventId;

    // Timenodes
    int timenode_count;
    m_stream >> timenode_count;

    for(; timenode_count -- > 0;)
    {
        auto tnmodel = new TimeNodeModel {*this, &scenario};
        scenario.addTimeNode(tnmodel);
    }

    // Events
    int event_count;
    m_stream >> event_count;

    for(; event_count -- > 0;)
    {
        auto evmodel = new EventModel {*this, &scenario};
        scenario.addEvent(evmodel);
    }

    // Events
    int state_count;
    m_stream >> state_count;

    for(; state_count -- > 0;)
    {
        auto stmodel = new StateModel {*this, &scenario};
        scenario.addDisplayedState(stmodel);
    }

    // Constraints
    int constraint_count;
    m_stream >> constraint_count;

    for(; constraint_count -- > 0;)
    {
        auto constraint = new ConstraintModel {*this, &scenario};
        scenario.addConstraint(constraint);
    }

    checkDelimiter();
}
Ejemplo n.º 10
0
void Visitor<Writer<DataStream>>::writeTo(AutomationModel& autom)
{
    autom.pluginModelList = new iscore::ElementPluginModelList{*this, &autom};

    autom.setCurve(new CurveModel{*this, &autom});

    iscore::Address address;
    double min, max;

    m_stream >> address >> min >> max;

    autom.setAddress(address);
    autom.setMin(min);
    autom.setMax(max);

    checkDelimiter();
}
Ejemplo n.º 11
0
PWIZ_API_DECL RegionTIC::Config::Config(const string& args)
:   mzRange(make_pair(0, 10000))
{
    vector<string> tokens;
    istringstream iss(args);
    copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter(tokens));
    size_t rangeFirst = 0;
    if(tokens.size() && checkDelimiter(tokens[0])) 
    {
        rangeFirst++; // that was a valid delimter arg
    }
    if (tokens.size() > 2+rangeFirst)
        throw runtime_error(("[RegionTIC::Config] Invalid args: " + args).c_str());

    if (tokens.size()>rangeFirst) mzRange.first = lexical_cast<double>(tokens[rangeFirst]);
    if (tokens.size()>rangeFirst+1) mzRange.second = lexical_cast<double>(tokens[rangeFirst+1]);
}
Ejemplo n.º 12
0
struct Queue* tokenize(const char* const cmdLine)
{
	struct Queue* tokens=queueCreate();
	struct StringBuffer* sb=strBufCreate();
	char* s;
	int i;
	bool inQuotes=false, delimiter;

	for (i=0; i<strlen(cmdLine); i++)
	{
		delimiter=false;

		if(cmdLine[i]=='\"' || cmdLine[i]=='\'')
		{
			inQuotes=!inQuotes;
		}
		else if (!inQuotes)
		{
			delimiter=checkDelimiter(&i, cmdLine, sb, tokens);

			if (!delimiter)
	                {
				//Non-Delimiter Character
        	                strBufAppendChar(sb, cmdLine[i]);
                	}
		} //End !inQuotes Check
		else
		{
			//inQuotes
			strBufAppendChar(sb, cmdLine[i]);
		}
	}

	if (strBufLength(sb)>0)
	{
		s=strBufToString(sb);
		strBufClear(sb);
		queueInsert(tokens, s);
	}

	strBufDestroy(sb);

	return tokens;
}