ADTF
Loading...
Searching...
No Matches
adtf::services::zebra::IMacroResolver Class Referenceabstract

More...

#include <macroresolver_intf.h>

Inherits adtf::services::vision::IMacroResolver.

Public Member Functions

 ADTF_IID (IMacroResolver, "macroresolver.zebra.base.adtf.iid")
 defintion of interace id
 
virtual tResult ResolveFromStack (const char *strMacro, base::IString &&strResolvedValue) const noexcept=0
 
- Public Member Functions inherited from adtf::services::vision::IMacroResolver
 ADTF_IID (IMacroResolver, "macroresolver.vision.base.adtf.iid")
 defintion of interace id
 
virtual tResult ResolveMacros (const base::IString &strSource, const ucom::ifunction< bool(const base::IString &strMacro, base::IString &&strReplacement)> &fnOverride, base::IString &&strResolvedString)=0
 
virtual tResult ResolveMacros (const char *strSource, base::IString &&strResolvedString)=0
 
- Public Member Functions inherited from adtf::services::thor::IMacroResolver
 ADTF_IID (IMacroResolver, "macroresolver.thor.base.adtf.iid")
 defintion of interace id
 
virtual void ListMacros (bool bIncludeEnvironmentVariables, const ucom::nitro::ifunction< void(const char *, const char *, bool)> &fnCallback) const =0
 
- Public Member Functions inherited from adtf::services::ant::IMacroResolver
 ADTF_IID (IMacroResolver, "macroresolver.ant.base.adtf.iid")
 defintion of interace id
 
virtual tResult RegisterMacro (const char *strMacro, const char *strReplacement, uint32_t ui32Flags=0)=0
 
virtual tResult UnregisterMacro (const char *strMacro)=0
 
virtual void Clear ()=0
 
- Public Member Functions inherited from adtf::ucom::ant::IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 

Additional Inherited Members

- Public Types inherited from adtf::services::ant::IMacroResolver
enum  tMacroResolverFlags { MRF_None = 0x00 , MRF_Overwrite = 0x01 }
 
- Protected Member Functions inherited from adtf::ucom::ant::IObject
 ~IObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 

Detailed Description

The IMacroResolver interface provides methods for resolving macros in strings.

Macros must have following layout:

  • $MACRO$
See also
adtf_resolve_macros, adtf_register_macro.

Member Function Documentation

◆ ResolveFromStack()

virtual tResult adtf::services::zebra::IMacroResolver::ResolveFromStack ( const char * strMacro,
base::IString && strResolvedValue ) const
pure virtualnoexcept

Resolves a single macro to its replacement. Macros within the replacement are not expanded and environment variables are not taken into account.

Scoped macro resolvers stacked on top of this resolver use this method to delegate the resolution of macros that are not registered at themselves.

Parameters
[in]strMacroName of the macro (without the $()/$$ markers).
[in]strResolvedValueString where to copy the replacement to.
Return values
ERR_NOT_FOUNDThe macro is not registered at this resolver or any of its parents.

The documentation for this class was generated from the following file: