21#include "../witsml2/WellboreObject.h"
25#include "../eml2/PropertyKind.h"
48 DLL_IMPORT_OR_EXPORT
ChannelMetaDataObject(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : WellboreObject(partialObject) {}
58 ChannelMetaDataObject(gsoap_eml2_1::eml21__AbstractObject* fromGsoap) : WITSML2_NS::WellboreObject(fromGsoap) {}
70 return COMMON_NS::DataObjectReference(
static_cast<T*
>(gsoapProxy2_1)->
Wellbore);
82 if (witsmlWellbore ==
nullptr) {
83 throw std::invalid_argument(
"Cannot set a null witsml wellbore to a witsml trajectory");
88 getRepository()->addRelationship(
this, witsmlWellbore);
96 return COMMON_NS::DataObjectReference(
static_cast<T*
>(gsoapProxy2_1)->ChannelClass);
106 return getRepository()->template getDataObjectByUuid<EML2_NS::PropertyKind>(getPropertyKindDor().getUuid());
118 if (propKind ==
nullptr) {
119 throw std::invalid_argument(
"Cannot set a null witsml propKind to a witsml log/channelset/channel");
122 static_cast<T*
>(gsoapProxy2_1)->ChannelClass = propKind->newEmlReference();
124 getRepository()->addRelationship(
this, propKind);
134#define GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(attributeDatatype, attributeName, constructor)\
135 DLL_IMPORT_OR_EXPORT virtual void set##attributeName(const attributeDatatype & attributeName) = 0;\
136 std::string get##attributeName() const {\
137 if (static_cast<T*>(gsoapProxy2_1)->attributeName == nullptr) { throw std::invalid_argument("The attribute does not exist"); }\
138 return *static_cast<T*>(gsoapProxy2_1)->attributeName;\
140 bool has##attributeName() const { return static_cast<T*>(gsoapProxy2_1)->attributeName != nullptr; }
142 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(std::string, TimeDepth, gsoap_eml2_1::soap_new_std__string)
143 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(std::string, RunNumber, gsoap_eml2_1::soap_new_std__string)
144 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(std::string, PassNumber, gsoap_eml2_1::soap_new_std__string)
145 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(std::string, LoggingCompanyName, gsoap_eml2_1::soap_new_std__string)
146 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(std::string, LoggingCompanyCode, gsoap_eml2_1::soap_new_std__string)
147 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(std::string, ToolName, gsoap_eml2_1::soap_new_std__string)
148 GETTER_AND_SETTER_GENERIC_OPTIONAL_ATTRIBUTE_TEMPLATE(std::string, ToolClass, gsoap_eml2_1::soap_new_std__string)
158 template<>
inline std::string ChannelMetaDataObject<gsoap_eml2_1::witsml20__Channel>::getTimeDepth()
const {
159 return static_cast<gsoap_eml2_1::witsml20__Channel*
>(gsoapProxy2_1)->TimeDepth;
169 template<>
inline bool ChannelMetaDataObject<gsoap_eml2_1::witsml20__Channel>::hasTimeDepth()
const {
180 template<>
inline std::string ChannelMetaDataObject<gsoap_eml2_1::witsml20__Channel>::getLoggingCompanyName()
const {
181 return static_cast<gsoap_eml2_1::witsml20__Channel*
>(gsoapProxy2_1)->LoggingCompanyName;
191 template<>
inline bool ChannelMetaDataObject<gsoap_eml2_1::witsml20__Channel>::hasLoggingCompanyName()
const {
A wellbore represents the path from surface to a unique bottomhole location.
Definition: Wellbore.h:46
Definition: WellboreObject.h:32
gsoap_eml2_1::eml21__DataObjectReference * newEmlReference() const
A wellbore represents the path from surface to a unique bottomhole location.
Definition: Wellbore.h:29