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