1// AttrDirInfo.cpp 2 3#include "AttrDirInfo.h" 4 5// ShowAround 6void 7AttributeInfo::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 19AttrDirInfo::AttrDirInfo() 20 : revision(-1), 21 isValid(false) 22{ 23} 24 25// ShowAround 26void 27AttrDirInfo::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 37status_t 38AttrDirInfo::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 50status_t 51AttrDirInfo::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