summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorKohei Yoshida <kyoshida@novell.com>2009-07-08 00:08:30 -0400
committerKohei Yoshida <kyoshida@novell.com>2009-07-08 00:08:30 -0400
commit0b1faa284cd715cd82952c7beb39669fed4c88ba (patch)
tree9ccc972c0eeaec9b7e70b0bc6b5c2770c49369cd /source
parentbb1812ad6ef4b19ead1fe08fd5e4596a6e6f5800 (diff)
Worked on dimension objects.
Diffstat (limited to 'source')
-rw-r--r--source/dpdimension.cxx27
-rw-r--r--source/dpdimensions.cxx34
2 files changed, 54 insertions, 7 deletions
diff --git a/source/dpdimension.cxx b/source/dpdimension.cxx
new file mode 100644
index 0000000..1cf7716
--- /dev/null
+++ b/source/dpdimension.cxx
@@ -0,0 +1,27 @@
+
+#include "dpdimension.hxx"
+
+using ::com::sun::star::uno::RuntimeException;
+using ::rtl::OUString;
+
+namespace dpsource {
+
+DPDimension::DPDimension()
+{
+}
+
+DPDimension::~DPDimension()
+{
+}
+
+OUString DPDimension::getName() throw (RuntimeException)
+{
+ return maName;
+}
+
+void DPDimension::setName(const OUString& aName) throw (RuntimeException)
+{
+ maName = aName;
+}
+
+}
diff --git a/source/dpdimensions.cxx b/source/dpdimensions.cxx
index 7b9bf35..1fb550b 100644
--- a/source/dpdimensions.cxx
+++ b/source/dpdimensions.cxx
@@ -1,5 +1,6 @@
#include "dpdimensions.hxx"
+#include "dpdimension.hxx"
#include <com/sun/star/container/XNamed.hpp>
@@ -58,27 +59,45 @@ namespace dpsource {
DPDimensions::DPDimensions()
{
+ init();
}
DPDimensions::~DPDimensions()
{
}
+void DPDimensions::init()
+{
+ maDimensions.clear();
+
+ OUString aDimName = OUString::createFromAscii("Andy");
+ Reference<XNamed> xRef(new DPDimension);
+ xRef->setName(aDimName);
+ maDimensions.insert(DimensionMapType::value_type(aDimName, xRef));
+}
+
Any DPDimensions::getByName(const OUString& aName)
throw (NoSuchElementException, WrappedTargetException, RuntimeException)
{
StackPrinter __stack_printer__("dpsource/DPDimensions::getByName");
fprintf(stdout, "DPDimensions::getByName: name = '%s'\n", rtl::OUStringToOString(aName, RTL_TEXTENCODING_UTF8).getStr());
- return Any();
+ DimensionMapType::const_iterator itr = maDimensions.find(aName);
+ if (itr == maDimensions.end())
+ throw NoSuchElementException();
+
+ Any any;
+ any <<= itr->second;
+ return any;
}
Sequence<OUString> DPDimensions::getElementNames() throw (RuntimeException)
{
StackPrinter __stack_printer__("dpsource/DPDimensions::getElementNames");
- Sequence<OUString> aElemNames(3);
- aElemNames[0] = OUString::createFromAscii("A");
- aElemNames[1] = OUString::createFromAscii("B");
- aElemNames[2] = OUString::createFromAscii("C");
+ Sequence<OUString> aElemNames(maDimensions.size());
+ DimensionMapType::const_iterator itr = maDimensions.begin(), itrEnd = maDimensions.end();
+ for (sal_Int32 i = 0; itr != itrEnd; ++itr, ++i)
+ aElemNames[i] = itr->first;
+
return aElemNames;
}
@@ -86,7 +105,8 @@ sal_Bool DPDimensions::hasByName(const OUString& aName) throw (RuntimeException)
{
StackPrinter __stack_printer__("dpsource/DPDimensions::hasByName");
fprintf(stdout, "DPDimensions::hasByName: name = '%s'\n", rtl::OUStringToOString(aName, RTL_TEXTENCODING_UTF8).getStr());
- return false;
+ DimensionMapType::const_iterator itr = maDimensions.find(aName);
+ return (itr != maDimensions.end());
}
Type DPDimensions::getElementType() throw (RuntimeException)
@@ -96,7 +116,7 @@ Type DPDimensions::getElementType() throw (RuntimeException)
sal_Bool DPDimensions::hasElements() throw (RuntimeException)
{
- return false;
+ return !maDimensions.empty();
}
OUString DPDimensions::getImplementationName() throw (RuntimeException)