diff --git a/wfassoc-cdylib/codegen/wfassoc.h b/wfassoc-cdylib/codegen/wfassoc.h index 76e0845..3c99452 100644 --- a/wfassoc-cdylib/codegen/wfassoc.h +++ b/wfassoc-cdylib/codegen/wfassoc.h @@ -23,6 +23,15 @@ typedef void *HICON; #endif // __cplusplus +#ifdef __cplusplus +constexpr HICON INVALID_HICON = nullptr; +constexpr size_t INVALID_INDEX = static_cast(-1); +#else // __cplusplus +static const HICON INVALID_HICON = NULL; +static const size_t INVALID_INDEX = ((size_t)-1); +#endif // __cplusplus + + #ifdef __cplusplus enum class Scope : uint32_t { User = 0u, @@ -91,6 +100,16 @@ bool WFProgramCreate(Token in_schema, Token *out_program); bool WFProgramDestroy(Token in_program); +bool WFProgramResolveName(Token in_program, CStyleString *out_name); + +bool WFProgramResolveIcon(Token in_program, Token *out_icon_rc); + +bool WFProgramExtsLen(Token in_program, size_t *out_len); + +bool WFProgramGetExt(Token in_program, size_t in_index, Token *out_ext); + +bool WFProgramFindExt(Token in_program, CStyleString in_body, size_t *out_index); + bool WFProgramRegister(Token in_program, Scope in_scope); bool WFProgramUnregister(Token in_program, Scope in_scope); @@ -109,6 +128,16 @@ bool WFExtStatusGetName(Token in_ext_status, CStyleString *out_name); bool WFExtStatusGetIcon(Token in_ext_status, HICON *out_icon); +bool WFIconRcDestroy(Token in_icon_rc); + +bool WFIconRcGetIcon(Token in_icon_rc, HICON *out_icon); + +bool WFExtDestroy(Token in_ext); + +bool WFExtGetInner(Token in_ext, CStyleString *out_inner); + +bool WFExtGetDottedInner(Token in_ext, CStyleString *out_inner); + #ifdef __cplusplus } // extern "C" } // namespace wfassoc