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