1 // AttrDirInfo.cpp 2 3 #include "AttrDirInfo.h" 4 5 // ShowAround 6 void 7 AttributeInfo::ShowAround(RequestMemberVisitor* visitor) 8 { 9 visitor->Visit(this, name); 10 visitor->Visit(this, info.type); 11 visitor->Visit(this, info.size); 12 visitor->Visit(this, data); 13 } 14 15 16 // #pragma mark - 17 18 // constructor 19 AttrDirInfo::AttrDirInfo() 20 : revision(-1), 21 isValid(false) 22 { 23 } 24 25 // ShowAround 26 void 27 AttrDirInfo::ShowAround(RequestMemberVisitor* visitor) 28 { 29 visitor->Visit(this, isValid); 30 if (isValid) { 31 visitor->Visit(this, revision); 32 visitor->Visit(this, attributeInfos); 33 } 34 } 35 36 // Flatten 37 status_t 38 AttrDirInfo::Flatten(RequestFlattener* flattener) 39 { 40 flattener->WriteBool(isValid); 41 if (isValid) { 42 flattener->Visit(this, revision); 43 flattener->Visit(this, attributeInfos); 44 } 45 46 return flattener->GetStatus(); 47 } 48 49 // Unflatten 50 status_t 51 AttrDirInfo::Unflatten(RequestUnflattener* unflattener) 52 { 53 if (unflattener->ReadBool(isValid) == B_OK && isValid) { 54 unflattener->Visit(this, revision); 55 unflattener->Visit(this, attributeInfos); 56 } 57 58 return unflattener->GetStatus(); 59 } 60 61