equal
deleted
inserted
replaced
54 } |
54 } |
55 } |
55 } |
56 public: |
56 public: |
57 |
57 |
58 virtual vector<AttributeMetadata> toMetadata(const RequestedField& field) override { |
58 virtual vector<AttributeMetadata> toMetadata(const RequestedField& field) override { |
59 if (field.group == RequestedField::GROUP_XATTR) return { AttributeMetadata{field.name, TypeId::STRING}}; |
59 if (field.group == RequestedField::GROUP_XATTR) { |
60 else return {}; |
60 vector<AttributeMetadata> metadata; |
|
61 for (string_t alias : field.getAliases()) metadata.push_back(AttributeMetadata{alias, TypeId::STRING}); |
|
62 return metadata; |
|
63 } else { |
|
64 return {}; |
|
65 } |
61 } |
66 } |
62 |
67 |
63 void startFile(const fs::path& file) override { |
68 void startFile(const fs::path& file) override { |
64 currentFile = file; |
69 currentFile = file; |
65 }; |
70 }; |
66 |
71 |
67 void endFile() override { |
72 void endFile() override { |
68 }; |
73 }; |
69 |
74 |
70 virtual void writeField(RelationalWriter* writer, const RequestedField& field) override { |
75 virtual void writeField(RelationalWriter* writer, const RequestedField& field) override { |
71 if (field.group == RequestedField::GROUP_XATTR) writer->writeAttribute(getXattr(currentFile, field.name)); |
76 for (string_t alias : field.getAliases()) { |
|
77 if (field.group == RequestedField::GROUP_XATTR) writer->writeAttribute(getXattr(currentFile, field.name)); |
|
78 } |
72 } |
79 } |
73 |
80 |
74 virtual ~XattrAttributeFinder() override { |
81 virtual ~XattrAttributeFinder() override { |
75 } |
82 } |
76 }; |
83 }; |