summaryrefslogtreecommitdiffstats
path: root/testpar/t_dset.c
Commit message (Expand)AuthorAgeFilesLines
* [svn-r8867] Purpose:Quincey Koziol2004-07-131-2/+168
* [svn-r8294] Purpose:Albert Cheng2004-04-011-8/+24
* [svn-r8096] Purpose:Albert Cheng2004-01-221-76/+40
* [svn-r7923] Purpose:Quincey Koziol2003-12-101-0/+36
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-12/+12
* [svn-r7181] Purpose:Quincey Koziol2003-07-071-8/+0
* [svn-r7015] Purpose:Quincey Koziol2003-06-101-2/+4
* [svn-r7001] Purpose:Quincey Koziol2003-06-091-0/+8
* [svn-r6975] Purpose:Quincey Koziol2003-06-051-0/+432
* [svn-r6961] Purpose:Quincey Koziol2003-06-041-2/+2
* [svn-r6795] Purpose:Bill Wendling2003-05-051-6/+12
* [svn-r6539] Purpose:Bill Wendling2003-03-311-0/+14
* [svn-r6387] Purpose:Quincey Koziol2003-02-101-2/+19
* [svn-r6055] Purpose:Quincey Koziol2002-11-051-6/+79
* [svn-r6043] Purpose:Quincey Koziol2002-10-291-59/+121
* [svn-r5896] Purpose:Quincey Koziol2002-08-271-1/+1
* [svn-r5679] Purpose:Quincey Koziol2002-06-191-0/+2
* [svn-r5674] Purpose:Quincey Koziol2002-06-191-33/+35
* [svn-r5667] Purpose:Quincey Koziol2002-06-191-20/+8
* [svn-r4582] Purpose:Albert Cheng2001-11-021-35/+14
* [svn-r4517] Raymond Lu2001-10-031-0/+1
* [svn-r4485] Purpose:Quincey Koziol2001-09-271-8/+8
* [svn-r4327] Purpose:Quincey Koziol2001-08-111-8/+8
* [svn-r3780] Purpose:Bill Wendling2001-04-051-1/+1
* [svn-r3009] Purpose:Albert Cheng2000-11-281-9/+27
* [svn-r3005] Purpose:Quincey Koziol2000-11-271-4/+4
* [svn-r2993] Purpose:Albert Cheng2000-11-211-8/+58
* [svn-r2641] Purpose:Albert Cheng2000-10-091-7/+47
* [svn-r2590] Purpose:Albert Cheng2000-09-241-96/+111
* [svn-r1568] Changes since 19990730Robb Matzke1999-08-101-18/+18
* [svn-r1417] t_mpi.c:Albert Cheng1999-07-031-2/+2
* [svn-r1398] Purpose:Albert Cheng1999-06-301-70/+127
* [svn-r1071] Moved the MPI test to a file of its own (t_mpi.c) for future addi...Albert Cheng1999-02-171-113/+113
* [svn-r1034] Changed spelling of extendable to extendible just for consistency...Albert Cheng1999-01-271-8/+8
* [svn-r651] Changed name: call H5Sget_simple_extent_dims instead of old H5Sext...Robert Kim Yates1998-09-011-2/+2
* [svn-r543] Purpose:Paul Harten1998-07-241-1/+1
* [svn-r542] Purpose:Paul Harten1998-07-241-2/+2
* [svn-r483] Revised for alpha-2 release.Albert Cheng1998-07-131-16/+46
* [svn-r465] Replaced old H5Sset_hyperslab with new H5Sselect_hyperslab calls.Albert Cheng1998-07-071-42/+56
* [svn-r449] Corrected some grammar errors in the debug messages.Albert Cheng1998-07-051-69/+69
* [svn-r448] Updated with more tests for extendable datasets such as testingAlbert Cheng1998-07-051-35/+114
* [svn-r439] Changed the PHDF test programs substantially. Used to be just oneAlbert Cheng1998-07-011-0/+1009
="hl opt">) { atom = "true"; } else { atom = "false"; } } template <typename T> Data(T value) : atom(toStr(value)), type(INTERPRETED) {} template <typename T> Data(T value, Type type_) : atom(toStr(value)), type(type_) {} explicit Data(const Arabica::DOM::Node<std::string>& dom); virtual ~Data() {} operator bool() const { return (atom.length() > 0 || !compound.empty() || !array.empty() || binary || node); } bool hasKey(const std::string& key) const { return (!compound.empty() && compound.find(key) != compound.end()); } const Data operator[](const std::string& key) const { return operator[](key.c_str()); } const Data operator[](const char* key) const { if (hasKey(key)) return compound.at(key); Data data; return data; } bool operator==(const Data &other) const { if (other.atom.size() != atom.size()) return false; if (other.type != type) return false; if (other.binary != binary) return false; if (other.array.size() != array.size()) return false; if (other.compound.size() != compound.size()) return false; if (other.atom != atom) return false; if (other.array != array) return false; if (other.compound != compound) return false; if (other.node != node) return false; return true; } bool operator!=(const Data &other) const { return !(*this == other); } operator std::string() const { return atom; } operator std::map<std::string, Data>() { return compound; } operator std::list<Data>() { return array; } static Data fromJSON(const std::string& jsonString); static std::string toJSON(const Data& data); static Data fromXML(const std::string& xmlString); Arabica::DOM::Document<std::string> toDocument(); std::string toXMLString() { std::stringstream ss; ss << toDocument(); return ss.str(); } std::map<std::string, Data> getCompound() { return compound; } void setCompound(const std::map<std::string, Data>& compound) { this->compound = compound; } std::list<Data> getArray() { return array; } void setArray(const std::list<Data>& array) { this->array = array; } std::string getAtom() { return atom; } void setAtom(const std::string& atom) { this->atom = atom; } Type getType() { return type; } void setType(const Type type) { this->type = type; } #ifdef SWIGIMPORTED protected: #endif Arabica::DOM::Node<std::string> node; std::map<std::string, Data> compound; std::list<Data> array; std::string atom; boost::shared_ptr<Blob> binary; Type type; protected: Arabica::DOM::Document<std::string> toNode(const Arabica::DOM::Document<std::string>& factory, const Data& data); friend USCXML_API std::ostream& operator<< (std::ostream& os, const Data& data); }; class USCXML_API Event { public: enum Type { INTERNAL = 1, EXTERNAL = 2, PLATFORM = 3 }; Event() : eventType(INTERNAL), hideSendId(false) {} Event(const std::string& name, Type type = INTERNAL) : name(name), eventType(type), hideSendId(false) {} Event(const Arabica::DOM::Node<std::string>& xmlString) : eventType(INTERNAL), hideSendId(false) {}; bool operator< (const Event& other) const { return this < &other; } std::string getName() { return name; } void setName(const std::string& name) { this->name = name; } Type getEventType() { return eventType; } void setEventType(const Type type) { this->eventType = type; } std::string getOrigin() { return origin; } void setOrigin(const std::string& origin) { this->origin = origin; } std::string getOriginType() { return origintype; } void setOriginType(const std::string& originType) { this->origintype = originType; } Arabica::DOM::Node<std::string> getDOM() { return dom; } void setDOM(const Arabica::DOM::Node<std::string>& dom) { this->dom = dom; } // Arabica::DOM::Node<std::string> getFirstDOMElement() const; // Arabica::DOM::Document<std::string> getStrippedDOM() const; // // static Arabica::DOM::Node<std::string> getFirstDOMElement(const Arabica::DOM::Document<std::string> dom); // static Arabica::DOM::Document<std::string> getStrippedDOM(const Arabica::DOM::Document<std::string> dom); std::string getRaw() { return raw; } void setRaw(const std::string& raw) { this->raw = raw; } std::string getContent() { return content; } void setContent(const std::string& content) { this->content = content; } std::string getXML() { return xml; } void setXML(const std::string& xml) { this->xml = xml; } std::string getSendId() { return sendid; } void setSendId(const std::string& sendId) { this->sendid = sendId; } std::string getInvokeId() { return invokeid; } void setInvokeId(const std::string& invokeId) { this->invokeid = invokeId; } Data getData() { return data; } void setData(const Data& data) { this->data = data; } void initContent(const std::string& content); static Event fromXML(const std::string& xmlString); Arabica::DOM::Document<std::string> toDocument(); std::string toXMLString() { std::stringstream ss; ss << toDocument(); return ss.str(); } std::map<std::string, Data>& getNameList() { return namelist; } std::multimap<std::string, Data>& getParams() { return params; } typedef std::multimap<std::string, Data> params_t; typedef std::map<std::string, Data> namelist_t; static bool getParam(params_t params, const std::string& name, Data& target) { if (params.find(name) != params.end()) { target = params.find(name)->second; return true; } return false; } static bool getParam(params_t params, const std::string& name, std::list<Data>& target) { if (params.find(name) != params.end()) { std::pair<params_t::iterator, params_t::iterator> rangeIter = params.equal_range(name); while(rangeIter.first != rangeIter.second) { target.push_back(rangeIter.first->second); rangeIter.first++; } return true; } return false; } template <typename T> static bool getParam(params_t params, const std::string& name, T& target) { if (params.find(name) != params.end()) { target = boost::lexical_cast<T>(params.find(name)->second.atom); return true; } return false; } static bool getParam(params_t params, const std::string& name, bool& target) { if (params.find(name) != params.end()) { target = true; if (iequals(params.find(name)->second.atom, "false")) { target = false; } else if(iequals(params.find(name)->second.atom, "off")) { target = false; } else if(iequals(params.find(name)->second.atom, "no")) { target = false; } else if(iequals(params.find(name)->second.atom, "0")) { target = false; } return true; } return false; } template <typename T> static bool getParam(params_t params, const std::string& name, std::list<T>& target) { if (params.find(name) != params.end()) { std::pair<params_t::iterator, params_t::iterator> rangeIter = params.equal_range(name); while(rangeIter.first != rangeIter.second) { target.push_back(boost::lexical_cast<T>(rangeIter.first->second.atom)); rangeIter.first++; } return true; } return false; } #ifdef SWIGIMPORTED protected: #endif std::string raw; std::string xml; std::string name; Type eventType; std::string origin; std::string origintype; Arabica::DOM::Node<std::string> dom; std::string sendid; bool hideSendId; std::string invokeid; Data data; std::string content; std::map<std::string, Data> namelist; std::multimap<std::string, Data> params; friend USCXML_API std::ostream& operator<< (std::ostream& os, const Event& event); }; class USCXML_API InvokeRequest : public Event { public: InvokeRequest(Event event) : Event(event) {} InvokeRequest() {} std::string getType() { return type; } void setType(const std::string& type) { this->type = type; } std::string getSource() { return src; } void setSource(const std::string& src) { this->src = src; } bool isAutoForwarded() { return autoForward; } void setAutoForwarded(bool autoForward) { this->autoForward = autoForward; } static InvokeRequest fromXML(const std::string& xmlString); Arabica::DOM::Document<std::string> toDocument(); std::string toXMLString() { std::stringstream ss; ss << toDocument(); return ss.str(); } #ifdef SWIGIMPORTED protected: #endif std::string type; std::string src; bool autoForward; friend USCXML_API std::ostream& operator<< (std::ostream& os, const InvokeRequest& sendReq); }; class USCXML_API SendRequest : public Event { public: SendRequest() {} SendRequest(Event event) : Event(event) {} std::string getTarget() { return target; } void setTarget(const std::string& target) { this->target = target; } std::string getType() { return type; } void setType(const std::string& type) { this->type = type; } uint32_t getDelayMs() { return delayMs; } void setDelayMs(uint32_t delayMs) { this->delayMs = delayMs; } static SendRequest fromXML(const std::string& xmlString); Arabica::DOM::Document<std::string> toDocument(); std::string toXMLString() { std::stringstream ss; ss << toDocument(); // std::cout << ss.str() << std::endl; return ss.str(); } #ifdef SWIGIMPORTED protected: #endif std::string target; std::string type; uint32_t delayMs; friend USCXML_API std::ostream& operator<< (std::ostream& os, const SendRequest& sendReq); }; USCXML_API std::ostream& operator<< (std::ostream& os, const InvokeRequest& invokeReq); USCXML_API std::ostream& operator<< (std::ostream& os, const SendRequest& sendReq); USCXML_API std::ostream& operator<< (std::ostream& os, const Event& event); USCXML_API std::ostream& operator<< (std::ostream& os, const Data& data); } #endif /* end of include guard: EVENT_H_XZAQ4HR */