#include "AttrDirInfo.h"
void
AttributeInfo::ShowAround(RequestMemberVisitor* visitor)
{
visitor->Visit(this, name);
visitor->Visit(this, info.type);
visitor->Visit(this, info.size);
visitor->Visit(this, data);
}
AttrDirInfo::AttrDirInfo()
: revision(-1),
isValid(false)
{
}
void
AttrDirInfo::ShowAround(RequestMemberVisitor* visitor)
{
visitor->Visit(this, isValid);
if (isValid) {
visitor->Visit(this, revision);
visitor->Visit(this, attributeInfos);
}
}
status_t
AttrDirInfo::Flatten(RequestFlattener* flattener)
{
flattener->WriteBool(isValid);
if (isValid) {
flattener->Visit(this, revision);
flattener->Visit(this, attributeInfos);
}
return flattener->GetStatus();
}
status_t
AttrDirInfo::Unflatten(RequestUnflattener* unflattener)
{
if (unflattener->ReadBool(isValid) == B_OK && isValid) {
unflattener->Visit(this, revision);
unflattener->Visit(this, attributeInfos);
}
return unflattener->GetStatus();
}