summaryrefslogtreecommitdiff
path: root/package/source/zippackage/ZipPackageFolderEnumeration.cxx
blob: 1e1d077994d38484d0b51481557b279bbde5cb7a (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

#ifndef _ZIP_PACKAGE_FOLDER_ENUMERATION_HXX
#include "ZipPackageFolderEnumeration.hxx"
#endif

using namespace com::sun::star;

ZipPackageFolderEnumeration::ZipPackageFolderEnumeration ( PropertyHash &rInput)
//std::hash_map < rtl::OUString, com::sun::star::uno::Reference < com::sun::star::container::XNamed >, hashFunc, eqFunc > &rContents);
: rContents (rInput)
, aIterator (rInput.begin())
{
}

ZipPackageFolderEnumeration::~ZipPackageFolderEnumeration( void )
{
}

sal_Bool SAL_CALL ZipPackageFolderEnumeration::hasMoreElements(  )
        throw(uno::RuntimeException)
{
    return  (aIterator != rContents.end() );
}
uno::Any SAL_CALL ZipPackageFolderEnumeration::nextElement(  )
        throw(container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException)
{
    uno::Any aAny;
    aIterator++;
    aAny <<= (*aIterator).second;
    return aAny;
}