1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22#ifndef MACROS_INC 23#define MACROS_INC 24/* ===================================================== 25 * global helper macros 26 * =====================================================*/ 27 28#define DOSTRING( x ) #x 29#define STRING( x ) DOSTRING( x ) 30#define DOCONCAT2( x, y ) x##y 31#define CONCAT2( x, y) DOCONCAT2(x,y) 32#define DOCONCAT3( x, y, z ) x##y##z 33#define CONCAT3( x, y, z ) DOCONCAT3(x,y,z) 34#define DOCONCAT4( x, y, z, a ) x##y##z##a 35#define CONCAT4( x, y, z, a ) DOCONCAT4(x,y,z,a) 36#define DOCONCAT5( x, y, z, a, b ) x##y##z##a##b 37#define CONCAT5( x, y, z, a, b ) DOCONCAT5(x,y,z,a,b) 38#define DOCONCAT6( x, y, z, a, b, c ) x##y##z##a##b##c 39#define CONCAT6( x, y, z, a, b, c ) DOCONCAT6(x,y,z,a,b,c) 40#define DOCONCAT7( x, y, z, a, b, c, u) x##y##z##a##b##c##u 41#define CONCAT7( x, y, z, a, b, c, u) DOCONCAT7(x,y,z,a,b,c,u) 42#define DOCONCAT8( x, y, z, a, b, c, u, v) x##y##z##a##b##c##u##v 43#define CONCAT8( x, y, z, a, b, c, u, v) DOCONCAT8(x,y,z,a,b,c,u,v) 44#define DOCONCAT9( x, y, z, a, b, c, u, v, w) x##y##z##a##b##c##u##v##w 45#define CONCAT9( x, y, z, a, b, c, u, v, w) DOCONCAT9(x,y,z,a,b,c,u,v,w) 46 47#define MOD_NAME_DESC(id) \ 48 ALL_LANG(Name,STR_NAME_##id); \ 49 ALL_LANG(Description,STR_DESC_##id) 50 51#define MOD_NAME_DESC_ON_DESELECT(id) \ 52 MOD_NAME_DESC(id); \ 53 ALL_LANG(OnDeselect,STR_DESELECT_##id) 54 55#define REG_VALUE_LNG(id) \ 56 ALL_LANG(Value,STR_REG_VAL_##id); 57 58#define FOLDERITEM_NAME_LNG(id) \ 59 ALL_LANG(Name,STR_FI_NAME_##id); 60 61#define ALL_LANG_STR_KEY(ident) \ 62 ALL_LANG(Key,ident) 63 64#define ALL_LANG_STR_KEY_LNG(ident) \ 65 ALL_LANG(Key,STR_KEY_##ident) 66 67#define ALL_LANG_STR_VALUE_LNG(ident) \ 68 ALL_LANG(Value,STR_VALUE_##ident) 69 70#define ALL_LANG_VALUE(vident) \ 71 ALL_LANG(Value,vident) 72 73#define ALL_LANG_KEY(vident) \ 74 ALL_LANG(Key,vident) 75 76 77#ifdef UNX 78 #ifdef MACOSX 79 #define UNXSUFFIX .dylib 80 #else 81 #define UNXSUFFIX .so 82 #endif 83#endif 84 85#ifdef UNX 86 #define LIBNAME(name) STRING(CONCAT4(lib,name,DLLPOSTFIX,UNXSUFFIX)) 87 #define FILTER_LIBNAME(name) LIBNAME(name) 88 #define EXENAME(name) STRING(name) 89 #define PROFILENAME(name) STRING(CONCAT2(name,rc)) 90 #define SPECIAL_NAME(name) STRING(CONCAT3(lib,name,UNXSUFFIX)) 91 #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,UNXSUFFIX)) 92#else 93 #define LIBNAME(name) STRING(CONCAT3(name,DLLPOSTFIX,.dll)) 94 #define FILTER_LIBNAME(name) LIBNAME(name) 95 #define EXENAME(name) STRING(CONCAT2(name,.exe)) 96 #define PROFILENAME(name) STRING(CONCAT2(name,.ini)) 97 #define SPECIAL_NAME(name) STRING(CONCAT2(name,.dll)) 98 #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,.dll)) 99#endif 100 101#define RESFILENAME(name,lang) STRING(CONCAT3(name,lang,.res)) 102#define SHORTRESFILENAME(name,lang) STRING(CONCAT3(name,lang,.res)) 103#define READMETXTFILENAME(name,lang,ext) STRING(CONCAT4(name,lang,.,ext)) 104#define READMEFILENAME(name,lang) STRING(CONCAT2(name,lang)) 105#define HELPFILENAME(name,endung) STRING(CONCAT3(name,.,endung)) 106#define EXTRAFILENAME(name,lang) STRING(CONCAT3(name,lang,.zip)) 107#define CONFIGLANGFILENAME(name,lang,ext) STRING(CONCAT4(name,lang,.,ext)) 108 109#if defined WNT 110#define SCP2_OOO_BIN_DIR gid_Brand_Dir_Program 111#else 112#define SCP2_OOO_BIN_DIR gid_Dir_Program 113#endif 114 115#define BIN_FILE_BODY \ 116 UnixRights = 555 117 118#define TXT_FILE_BODY \ 119 UnixRights = 444 120 121#define USER_FILE_BODY \ 122 UnixRights = 644 123 124#define PACKED_TXT_FILE_BODY \ 125 TXT_FILE_BODY; \ 126 Styles = (PACKED) 127 128#define PACKED_TXT_FILE_BODY_PATCH \ 129 TXT_FILE_BODY; \ 130 Styles = (PACKED,PATCH) 131 132#define ARCHIVE_TXT_FILE_BODY \ 133 TXT_FILE_BODY; \ 134 Styles = (ARCHIVE) 135 136#define ARCHIVE_TXT_FILE_BODY_PATCH \ 137 TXT_FILE_BODY; \ 138 Styles = (ARCHIVE,PATCH) 139 140#define ARCHIVE_SUBST_FILE_BODY \ 141 TXT_FILE_BODY; \ 142 Styles = (ARCHIVE,SUBSTITUTE) 143 144#define ARCHIVE_SUBST_FILE_BODY_PATCH \ 145 TXT_FILE_BODY; \ 146 Styles = (ARCHIVE,SUBSTITUTE,PATCH) 147 148#define PACKED_LIB_FILE_BODY \ 149 TXT_FILE_BODY; \ 150 Styles = (PACKED); \ 151 Dir = SCP2_OOO_BIN_DIR 152 153#define PACKED_LIB_FILE_BODY_PATCH \ 154 TXT_FILE_BODY; \ 155 Styles = (PACKED,PATCH); \ 156 Dir = SCP2_OOO_BIN_DIR 157 158#define PACKED_FILTER_FILE_BODY \ 159 TXT_FILE_BODY; \ 160 Styles = (PACKED); \ 161 Dir = gid_Dir_Filter 162 163#define PACKED_FILTER_FILE_BODY_PATCH \ 164 TXT_FILE_BODY; \ 165 Styles = (PACKED,PATCH); \ 166 Dir = gid_Dir_Filter 167 168#define STD_LIB_FILE(id,name) \ 169 File id \ 170 Name = LIBNAME(name); \ 171 PACKED_LIB_FILE_BODY; \ 172 End 173 174#define STD_LIB_FILE_PATCH(id,name) \ 175 File id \ 176 Name = LIBNAME(name); \ 177 PACKED_LIB_FILE_BODY_PATCH; \ 178 End 179 180#define SPECIAL_LIB_FILE(id,name) \ 181 File id \ 182 Name = SPECIAL_NAME(name); \ 183 PACKED_LIB_FILE_BODY; \ 184 End 185 186#define SPECIAL_LIB_FILE_PATCH(id,name) \ 187 File id \ 188 Name = SPECIAL_NAME(name); \ 189 PACKED_LIB_FILE_BODY_PATCH; \ 190 End 191 192#define STD_RES_FILE(id,name) \ 193 File id \ 194 TXT_FILE_BODY; \ 195 RESFILE_ALL_LANG(name); \ 196 Dir = gid_Dir_Resource; \ 197 Styles = (PACKED); \ 198 End 199 200#define BRAND_RES_FILE(id,name) \ 201 File id \ 202 TXT_FILE_BODY; \ 203 RESFILE_ALL_LANG(name); \ 204 Dir = gid_Brand_Dir_Resource; \ 205 Styles = (PACKED); \ 206 End 207 208#define STD_RES_FILE_PATCH(id,name) \ 209 File id \ 210 TXT_FILE_BODY; \ 211 RESFILE_ALL_LANG(name); \ 212 Dir = gid_Dir_Resource; \ 213 Styles = (PACKED,PATCH); \ 214 End 215 216#define STD_RES_FILE_ONLY_PATCH(id,name) \ 217 File id \ 218 TXT_FILE_BODY; \ 219 RESFILE_ALL_LANG(name); \ 220 Dir = gid_Dir_Resource; \ 221 Styles = (PACKED,PATCH,PATCH_ONLY); \ 222 End 223 224#define STD_FILTER_FILE(id,name) \ 225 File id \ 226 PACKED_LIB_FILE_BODY; \ 227 Name = FILTER_LIBNAME(name); \ 228 End 229 230#define STD_FILTER_FILE_PATCH(id,name) \ 231 File id \ 232 PACKED_LIB_FILE_BODY_PATCH; \ 233 Name = FILTER_LIBNAME(name); \ 234 End 235 236#define STD_FONTUNX_FILE(id,name,fontname) \ 237 File id \ 238 TXT_FILE_BODY; \ 239 Dir = gid_Dir_Fonts_Truetype; \ 240 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 241 Name = STRING(name) ; \ 242 End 243 244#define STD_FONTWIN_FILE(id,name,fontname) \ 245 File id \ 246 TXT_FILE_BODY; \ 247 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 248 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 249 Name = STRING(name) ; \ 250 FontName = STRING(fontname) ; \ 251 NetDir = gid_Dir_Winfonts; \ 252 End 253 254#ifdef UNX 255#define STD_FONT_FILE(id,name,fontname) \ 256 File id \ 257 TXT_FILE_BODY; \ 258 Dir = gid_Dir_Fonts_Truetype; \ 259 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 260 Name = STRING(name) ; \ 261 End 262#endif 263 264#ifdef UNX 265#define STD_FONT_FILE_DUO(id,name,unxfontname,winfontname) \ 266 File id \ 267 TXT_FILE_BODY; \ 268 Dir = gid_Dir_Fonts_Truetype; \ 269 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 270 Name = STRING(name) ; \ 271 End 272#endif 273 274#ifdef WNT 275#define STD_FONT_FILE(id,name,fontname) \ 276 File id \ 277 TXT_FILE_BODY; \ 278 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 279 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 280 Name = STRING(name) ; \ 281 FontName = STRING(fontname) ; \ 282 NetDir = gid_Dir_Winfonts; \ 283 End 284#endif 285 286#ifdef WNT 287#define STD_FONT_FILE_DUO(id,name,unxfontname,winfontname) \ 288 File id \ 289 TXT_FILE_BODY; \ 290 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 291 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 292 Name = STRING(name) ; \ 293 FontName = STRING(winfontname) ; \ 294 NetDir = gid_Dir_Winfonts; \ 295 End 296#endif 297 298#define STD_JAR_FILE(id,name) \ 299 File id \ 300 TXT_FILE_BODY; \ 301 Name = STRING(CONCAT2(name,.jar)); \ 302 Dir = gid_Dir_Classes; \ 303 Styles = (PACKED,DONT_OVERWRITE); \ 304 End 305 306#define STD_JAR_FILE_PATCH(id,name) \ 307 File id \ 308 TXT_FILE_BODY; \ 309 Name = STRING(CONCAT2(name,.jar)); \ 310 Dir = gid_Dir_Classes; \ 311 Styles = (PACKED,DONT_OVERWRITE,PATCH); \ 312 End 313 314#define JARFILENAME(name) STRING(CONCAT2(name,.jar)) 315 316#define PACKED_SHELLNEW_FILE_BODY \ 317 TXT_FILE_BODY; \ 318 Styles = (PACKED,WORKSTATION, OVERWRITE); \ 319 Dir = PREDEFINED_OSSHELLNEWDIR; \ 320 NetDir = gid_Dir_Shellnew 321 322#define STD_SHELLNEW_FILE(id,name) \ 323 File id \ 324 PACKED_SHELLNEW_FILE_BODY; \ 325 Name = STRING(name) ; \ 326 End 327 328#define SPECIAL_COMPONENT_LIB_FILE(id,name) \ 329 File id \ 330 Name = SPECIAL_COMPONENT_LIB_NAME(name); \ 331 PACKED_LIB_FILE_BODY; \ 332 End 333 334#define SPECIAL_COMPONENT_LIB_FILE_PATCH(id,name) \ 335 File id \ 336 Name = SPECIAL_COMPONENT_LIB_NAME(name); \ 337 PACKED_LIB_FILE_BODY_PATCH; \ 338 End 339 340#define WINW4WFILTERFILENAME(name) STRING(CONCAT2(name,f32w.dll)) 341 342#define STD_WIN_W4WFILTER_FILE(id,name) \ 343 File id \ 344 PACKED_FILTER_FILE_BODY; \ 345 Name = WINW4WFILTERFILENAME(name); \ 346 End 347 348#define SOLSW4WFILTERFILENAME(name) STRING(CONCAT2(w4w, name)) 349 350#define STD_SOLS_W4WFILTER_FILE(id,name) \ 351 File id \ 352 BIN_FILE_BODY; \ 353 Styles = (PACKED); \ 354 Dir = gid_Dir_Filter; \ 355 Name = SOLSW4WFILTERFILENAME(name); \ 356 End 357 358#define SPECIAL_NO_WARNING_IF_NOT_EXISTS_FILE(id,name) \ 359 File id \ 360 TXT_FILE_BODY; \ 361 Name = LIBNAME(name); \ 362 Dir = SCP2_OOO_BIN_DIR; \ 363 Styles = (PACKED, NO_WARNING_IF_NOT_EXISTS); \ 364 End 365 366// --------------------------------------- 367#define CONDITIONAL_MODULE_ENTRY(name,modid) \ 368 Module gid_Module_Root_Reg_##name \ 369 ParentID = modid; \ 370 Name = STRING(CONCAT2(gid_Module_Root_,name)); \ 371 Description = STRING(CONCAT2(gid_Module_Root_,name)); \ 372 Default = YES; \ 373 Styles = (HIDDEN_ROOT); \ 374End 375 376#define REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \ 377 RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \ 378 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 379 ModuleID = modid; \ 380 Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \ 381 Name = STRING(CONCAT2(OpenOffice.org.,name)); \ 382 Value = " "; \ 383 End 384 385#define REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \ 386 RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \ 387 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 388 ModuleID = modid; \ 389 Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \ 390 Name = STRING(CONCAT2(OpenOffice.org.,name)); \ 391 Value = " "; \ 392 End 393 394#define CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 395 RegistryItem gid_Regitem__##name \ 396 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 397 ModuleID = gid_Module_Root_Reg_##name; \ 398 Subkey = STRING(CONCAT2(.,key)); \ 399 Value = STRING(CONCAT2(OpenOffice.org.,name)); \ 400 ComponentCondition = STRING(CONCAT3(REGISTER_,cond,=1)); \ 401 End 402 403#define REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 404 RegistryItem CONCAT2(gid_Regitem_Openoffice_,name) \ 405 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 406 ModuleID = modid; \ 407 Subkey = STRING(CONCAT2(OpenOffice.org.,name)); \ 408 REG_VALUE_LNG(disp_name) \ 409 End 410 411#define REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 412 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Defaulticon) \ 413 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 414 ModuleID = modid; \ 415 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\DefaultIcon)); \ 416 Value = "<progpath>\program\soffice.exe," STRING(icon_id); \ 417 End 418 419#define REGISTRY_ENTRY_SHELL(name,default,modid) \ 420 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell) \ 421 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 422 ModuleID = modid; \ 423 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell)); \ 424 Value = STRING(default); \ 425 End 426 427#define REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 428 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New) \ 429 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 430 ModuleID = modid; \ 431 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\new)); \ 432 REG_VALUE_LNG(NEW) \ 433 End \ 434 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New_Command) \ 435 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 436 ModuleID = modid; \ 437 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\new\command)); \ 438 Value = "\"<progpath>\program\\" STRING(app) "\" -n \"%1\""; \ 439 End 440 441#define REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 442 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Open_Command) \ 443 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 444 ModuleID = modid; \ 445 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\open\command)); \ 446 Value = "\"<progpath>\program\\" STRING(app) "\" -o \"%1\""; \ 447 End 448 449#define REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 450 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Print_Command) \ 451 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 452 ModuleID = modid; \ 453 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\print\command)); \ 454 Value = "\"<progpath>\program\\" STRING(app) "\" -p \"%1\""; \ 455 End 456 457#define REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 458 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Printto_Command) \ 459 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 460 ModuleID = modid; \ 461 Subkey = STRING(CONCAT3(OpenOffice.org.,name,\shell\printto\command)); \ 462 Value = "\"<progpath>\program\\" STRING(app) "\" -pt \"%2\" \"%1\""; \ 463 End 464 465#define REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \ 466 RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \ 467 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 468 ModuleID = modid; \ 469 Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \ 470 Name = STRING(CONCAT2(.,key)); \ 471 Value = STRING(CONCAT2(OpenOffice.org.,name)); \ 472 Styles = (); \ 473 End 474 475#define REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \ 476 RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \ 477 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 478 ModuleID = modid; \ 479 Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \ 480 Name = STRING(CONCAT2(.,key)); \ 481 Value = STRING(CONCAT2(OpenOffice.org.,name)); \ 482 Styles = (); \ 483 End 484 485#define CONDITIONAL_REGISTER_DOC_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \ 486 CONDITIONAL_MODULE_ENTRY(name,modid) \ 487 REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \ 488 CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 489 REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 490 REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 491 REGISTRY_ENTRY_SHELL(name,default,modid) \ 492 REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 493 REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 494 REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 495 REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 496 REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \ 497 498#define CONDITIONAL_REGISTER_DOCTEMPLATE_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \ 499 CONDITIONAL_MODULE_ENTRY(name,modid) \ 500 REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \ 501 CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 502 REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 503 REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 504 REGISTRY_ENTRY_SHELL(name,default,modid) \ 505 REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 506 REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 507 REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 508 REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 509 REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \ 510 511// --------------------------------------- 512 513#define REGISTER_PROPERTY_HANDLER_FOR_EXTENSION(extension) \ 514 RegistryItem CONCAT2(gid_Regitem_Software_Microsoft_Windows_CurrentVersion_PropertySystem_PropertyHandlers_,extension) \ 515 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 516 ModuleID = gid_Module_Optional_Winexplorerext_PropertyHdl; \ 517 ComponentCondition = "VersionNT >= 600"; \ 518 Styles = (X64); \ 519 Subkey = STRING(CONCAT2(SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.,extension)); \ 520 Value = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \ 521 Val64 = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \ 522 End 523 524// --------------------------------------- 525 526#if defined WNT 527#define SCP2_URE_DL_DIR gid_Dir_Ure_Bin 528#define SCP2_URE_DL_NORMAL(n) n ".dll" 529#define SCP2_URE_DL_BARE(n) n ".dll" 530#define SCP2_URE_DL_VER(n, v) n v ".dll" 531#define SCP2_URE_DL_COMID_VER(n, v) n v STRING(COMID) ".dll" 532#define SCP2_URE_DL_UNO_VER(n, v) n v ".dll" 533#define SCP2_URE_DL_UNO_COMID_VER(n, v) n v STRING(COMID) ".dll" 534#define SCP2_URE_SHARE_DIR gid_Dir_Common_Ure 535#if defined _STLP_DEBUG 536#define SCP2_STDLP_DEBUG "d" 537#else 538#define SCP2_STDLP_DEBUG "" 539#endif 540#else 541#define SCP2_URE_DL_DIR gid_Dir_Ure_Lib 542#define SCP2_URE_DL_NORMAL(n) "lib" n STRING(UNXSUFFIX) 543#define SCP2_URE_DL_BARE(n) n STRING(UNXSUFFIX) 544#define SCP2_URE_DL_VER(n, v) "lib" n STRING(UNXSUFFIX) "." v 545#define SCP2_URE_DL_COMID_VER(n, v) \ 546 "lib" n STRING(COMID) STRING(UNXSUFFIX) "." v 547#define SCP2_URE_DL_UNO_VER(n, v) "libuno_" n STRING(UNXSUFFIX) "." v 548#define SCP2_URE_DL_UNO_NORMAL(n) "libuno_" n STRING(UNXSUFFIX) 549#define SCP2_URE_DL_UNO_COMID_VER(n, v) \ 550 "libuno_" n STRING(COMID) STRING(UNXSUFFIX) "." v 551#define SCP2_URE_DL_UNO_COMID_NORMAL(n) \ 552 "libuno_" n STRING(COMID) STRING(UNXSUFFIX) 553#define SCP2_URE_SHARE_DIR gid_Dir_Ure_Share 554#endif 555#if defined MACOSX 556#define SCP2_URE_JDL_NORMAL(n) "lib" n ".jnilib" 557#else 558#define SCP2_URE_JDL_NORMAL(n) SCP2_URE_DL_NORMAL(n) 559#endif 560 561#include <langmacros.inc> 562 563 564#endif // MACROS_INC 565 566