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(); }
void Visitor<Writer<DataStream>>::writeTo( Dummy::DummyModel& proc) { proc.pluginModelList = new iscore::ElementPluginModelList{*this, &proc}; checkDelimiter(); }
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(); }
void DataStreamWriter::write(PresetState::Model& proc) { QString str; m_stream >> str; proc.setFile(str); checkDelimiter(); }
void Visitor<Writer<DataStream>>::writeTo(JSProcessModel& proc) { proc.pluginModelList = new iscore::ElementPluginModelList{*this, &proc}; QString str; m_stream >> str; proc.setScript(str); checkDelimiter(); }
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(); }
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(); }
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]); }
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; }