src/XattrAttributeFinder.h
branchv_0
changeset 44 dc5c210295d0
parent 32 bccda5688d71
equal deleted inserted replaced
43:bfc7e5d541c2 44:dc5c210295d0
    51 		}
    51 		}
    52 	}
    52 	}
    53 protected:
    53 protected:
    54 
    54 
    55 	virtual void writeFieldOfExistingFile(RelationalWriter* writer, const string_t& relationName, const RequestedField& field) override {
    55 	virtual void writeFieldOfExistingFile(RelationalWriter* writer, const string_t& relationName, const RequestedField& field) override {
    56 		for (string_t alias : field.getAliases()) {
    56 		for (string_t alias : field.getAliasesOrName()) {
    57 			// TODO: support also other namespaces through CLI --option namespace someOtherNS
    57 			// TODO: support also other namespaces through CLI --option namespace someOtherNS
    58 			string_t xattrName = L"user." + field.name;
    58 			string_t xattrName = L"user." + field.name;
    59 			if (field.group == RequestedField::GROUP_XATTR) writer->writeAttribute(getXattr(currentFile, xattrName));
    59 			if (field.group == RequestedField::GROUP_XATTR) writer->writeAttribute(getXattr(currentFile, xattrName));
    60 		}
    60 		}
    61 	}
    61 	}
    63 public:
    63 public:
    64 
    64 
    65 	virtual vector<AttributeMetadata> toMetadata(RelationalWriter* writer, const string_t& relationName, const RequestedField& field) override {
    65 	virtual vector<AttributeMetadata> toMetadata(RelationalWriter* writer, const string_t& relationName, const RequestedField& field) override {
    66 		if (field.group == RequestedField::GROUP_XATTR) {
    66 		if (field.group == RequestedField::GROUP_XATTR) {
    67 			vector<AttributeMetadata> metadata;
    67 			vector<AttributeMetadata> metadata;
    68 			for (string_t alias : field.getAliases()) metadata.push_back(AttributeMetadata{alias, TypeId::STRING});
    68 			for (string_t alias : field.getAliasesOrName()) metadata.push_back(AttributeMetadata{alias, TypeId::STRING});
    69 			return metadata;
    69 			return metadata;
    70 		} else {
    70 		} else {
    71 			return {};
    71 			return {};
    72 		}
    72 		}
    73 	}
    73 	}