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