ufe 7.0
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
attributeDef.h
Go to the documentation of this file.
1#line 1 "D:/Jenkins/workspace/EMS/ECG/ufe/full/ufe-full-python3.13-windows/ufe/include/attributeDef.h"
2#ifndef UFE_ATTRIBUTEDEF_H
3#define UFE_ATTRIBUTEDEF_H
4
5// ===========================================================================
6// Copyright 2025 Autodesk, Inc. All rights reserved.
7//
8// The use of this software is subject to the Autodesk Terms of Use or other
9// license agreement provided at the time of installation or download, or
10// which otherwise accompanies this software.
11// ===========================================================================
12
13#include "common/ufeExport.h"
14#include "value.h"
15
16#include <memory>
17#include <string>
18
20
29{
30public:
31 typedef std::shared_ptr<const AttributeDef> ConstPtr;
32 enum IOType { INPUT_ATTR, OUTPUT_ATTR };
33
35 virtual ~AttributeDef();
36
38 virtual std::string name() const = 0;
39
41 virtual std::string type() const = 0;
42
44 virtual std::string defaultValue() const = 0;
45
47 virtual IOType ioType() const = 0;
48
54 virtual Value getMetadata(const std::string& key) const = 0;
55
57 virtual bool hasMetadata(const std::string& key) const = 0;
58
59 // --------------------------------------------------------------------- //
62 // --------------------------------------------------------------------- //
63
68 static constexpr char kNativeType[] = "NativeType";
69
70 // --------------------------------------------------------------------- //
72 // --------------------------------------------------------------------- //
73
74}; // end class AttributeDef
75
76} // end namespace
77
78#endif /* UFE_ATTRIBUTEDEF_H */
Base class for Attribute definitions.
Definition: attributeDef.h:29
std::shared_ptr< const AttributeDef > ConstPtr
Definition: attributeDef.h:31
virtual std::string type() const =0
virtual Value getMetadata(const std::string &key) const =0
virtual std::string name() const =0
virtual IOType ioType() const =0
virtual bool hasMetadata(const std::string &key) const =0
Returns true if metadata key has a non-empty value.
virtual std::string defaultValue() const =0
virtual ~AttributeDef()
Destructor.
Value class that can hold a wide set of types.
Definition: value.h:66
std::string string(const Path &path)
#define UFE_NS_DEF
Definition: ufe.h:36
Definition of macros for symbol visibility.
#define UFE_SDK_DECL
Definition: ufeExport.h:35