Modified: 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx?rev=1732005&r1=1732004&r2=1732005&view=diff
==============================================================================
--- 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx
 (original)
+++ 
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx
 Wed Feb 24 01:41:54 2016
@@ -23,10 +23,18 @@
 #ifndef INCLUDED_DMAPPER_PROPERTYIDS_HXX
 #define INCLUDED_DMAPPER_PROPERTYIDS_HXX
 
+#include <hash_map>
+#include <boost/shared_ptr.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/beans/PropertyValue.hpp>
+
 namespace rtl{ class OUString;}
 
 namespace writerfilter {
 namespace dmapper{
+    
+using namespace ::com::sun::star;
+
 enum PropertyIds
     {
         PROP_ID_START = 1
@@ -285,16 +293,54 @@ enum PropertyIds
         ,PROP_WRITING_MODE
     };
 struct PropertyNameSupplier_Impl;
+
+struct PropertyIdsHash
+{
+    size_t operator()(const PropertyIds a) const { return a; }
+};
+
 class PropertyNameSupplier
 {
     PropertyNameSupplier_Impl* m_pImpl;
-public:
     PropertyNameSupplier();
+
+public:
     ~PropertyNameSupplier();
     const rtl::OUString& GetName( PropertyIds eId ) const;
+    PropertyIds GetId(const ::rtl::OUString & rString) const;
 
     static PropertyNameSupplier& GetPropertyNameSupplier();
 };
+
+class PropertySequence
+{
+    typedef ::std::hash_map<PropertyIds, sal_Int32, PropertyIdsHash> Map_t;
+    Map_t m_indexMap;
+    uno::Sequence<beans::PropertyValue>m_sequence;
+    PropertyNameSupplier & m_rPropNameSupplier;
+
+public:
+    typedef boost::shared_ptr<PropertySequence> Pointer_t;
+
+    PropertySequence();
+    PropertySequence(const uno::Sequence<beans::PropertyValue> & rSeq); 
+    virtual ~PropertySequence();
+
+    uno::Any get(PropertyIds aId);
+
+    void set(PropertyIds aId, const uno::Any & rValue);
+    void set(PropertyIds aId, sal_uInt32 nValue);
+    void set(PropertyIds aId, sal_Int32 nValue);
+    void set(PropertyIds aId, sal_uInt16 nValue);    
+    void set(PropertyIds aId, sal_Int16 nValue);
+
+    uno::Sequence<beans::PropertyValue> & getSequence();
+
+#ifdef DEBUG
+    ::std::string toString() const;
+#endif
+};
+
 } //namespace dmapper
 } // namespace writerfilter
 #endif


Reply via email to