1// ShareAttrDirIterator.cpp
2
3#include "ShareAttrDir.h"
4#include "ShareAttrDirIterator.h"
5
6// constructor
7ShareAttrDirIterator::ShareAttrDirIterator()
8	: fAttrDir(NULL),
9	  fCurrentAttribute(NULL)
10{
11}
12
13// destructor
14ShareAttrDirIterator::~ShareAttrDirIterator()
15{
16}
17
18// SetAttrDir
19void
20ShareAttrDirIterator::SetAttrDir(ShareAttrDir* attrDir)
21{
22	fAttrDir = attrDir;
23	fCurrentAttribute = (fAttrDir ? fAttrDir->GetFirstAttribute() : NULL);
24}
25
26// SetCurrentAttribute
27void
28ShareAttrDirIterator::SetCurrentAttribute(Attribute* attribute)
29{
30	fCurrentAttribute = attribute;
31}
32
33// GetCurrentAttribute
34Attribute*
35ShareAttrDirIterator::GetCurrentAttribute() const
36{
37	return fCurrentAttribute;
38}
39
40// NextAttribute
41Attribute*
42ShareAttrDirIterator::NextAttribute()
43{
44	if (fAttrDir && fCurrentAttribute)
45		fCurrentAttribute = fAttrDir->GetNextAttribute(fCurrentAttribute);
46	return fCurrentAttribute;
47}
48
49// Rewind
50void
51ShareAttrDirIterator::Rewind()
52{
53	fCurrentAttribute = (fAttrDir ? fAttrDir->GetFirstAttribute() : NULL);
54}
55
56