]> git.mxchange.org Git - simgear.git/blobdiff - simgear/hla/HLADataElement.hxx
Make tsync part of libSimGearCore when building shared libraries
[simgear.git] / simgear / hla / HLADataElement.hxx
index 284422b8e6130b4bf55dd5a73788c508e1d94e5e..35613d069b0784982912b84bb29deb0effbd20fd 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2009 - 2010  Mathias Froehlich - Mathias.Froehlich@web.de
+// Copyright (C) 2009 - 2011  Mathias Froehlich - Mathias.Froehlich@web.de
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Library General Public
@@ -30,10 +30,16 @@ class SGTimeStamp;
 
 namespace simgear {
 
+class HLADataElementVisitor;
+class HLAConstDataElementVisitor;
+
 class HLADataElement : public SGReferenced {
 public:
     virtual ~HLADataElement();
 
+    virtual void accept(HLADataElementVisitor& visitor) = 0;
+    virtual void accept(HLAConstDataElementVisitor& visitor) const = 0;
+
     virtual bool encode(HLAEncodeStream& stream) const = 0;
     virtual bool decode(HLADecodeStream& stream) = 0;
 
@@ -144,15 +150,18 @@ public:
         SGSharedPtr<Data> _data;
     };
     typedef std::list<PathElement> Path;
-    typedef std::pair<std::string, Path> AttributePathPair;
+    typedef std::pair<std::string, Path> StringPathPair;
+    typedef StringPathPair AttributePathPair; // deprecated
     typedef std::pair<unsigned, Path> IndexPathPair;
 
     static std::string toString(const Path& path);
-    static std::string toString(const AttributePathPair& path)
+    static std::string toString(const StringPathPair& path)
     { return path.first + toString(path.second); }
-    static AttributePathPair toAttributePathPair(const std::string& s);
+    static StringPathPair toStringPathPair(const std::string& s);
+    static AttributePathPair toAttributePathPair(const std::string& s) // deprecated
+    { return toStringPathPair(s); }
     static Path toPath(const std::string& s)
-    { return toAttributePathPair(s).second; }
+    { return toStringPathPair(s).second; }
 
 private:
     // SGSharedPtr<const TimeStamp> _timeStamp;