summaryrefslogtreecommitdiff
path: root/inc/dphierarchies.hxx
blob: 08c2a6602a974338ed1197f97eade637ef6f5e6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef __DPHIEARCHIES_HXX__
#define __DPHIEARCHIES_HXX__

#include "global.hxx"

#include <cppuhelper/implbase2.hxx>

#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>

namespace com { namespace sun { namespace star {
    namespace container {
        class XNamed;
    }
}}}

namespace dpsource {

class DPHierarchies : public ::cppu::WeakImplHelper2<
                                ::com::sun::star::container::XNameAccess,
                                ::com::sun::star::container::XIndexAccess >
{
public:
    DPHierarchies();
    ~DPHierarchies();

    // XNameAccess

    virtual ::com::sun::star::uno::Any SAL_CALL getByName(const ::rtl::OUString& aName) 
        throw (::com::sun::star::container::NoSuchElementException, 
               ::com::sun::star::lang::WrappedTargetException, 
               ::com::sun::star::uno::RuntimeException);

    virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL 
        getElementNames() throw (::com::sun::star::uno::RuntimeException);

    virtual sal_Bool SAL_CALL hasByName(const ::rtl::OUString& aName)
        throw (::com::sun::star::uno::RuntimeException);

    virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 
        throw (::com::sun::star::uno::RuntimeException);

    virtual sal_Bool SAL_CALL hasElements() 
        throw (::com::sun::star::uno::RuntimeException);

    // XIndexAccess

    virtual sal_Int32 SAL_CALL getCount() 
        throw (::com::sun::star::uno::RuntimeException);

    virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) 
        throw (::com::sun::star::lang::IndexOutOfBoundsException, 
               ::com::sun::star::lang::WrappedTargetException,
               ::com::sun::star::uno::RuntimeException);

private:
    void init();

private:
    NamedObjMapType maHierarchies;
};


}



#endif