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#ifdef OS2 77 #define UNXSUFFIX .dll 78#endif 79 80#ifdef UNX 81 #ifdef MACOSX 82 #define UNXSUFFIX .dylib 83 #else 84 #define UNXSUFFIX .so 85 #endif 86#endif 87 88#ifdef UNX 89 #define LIBNAME(name) STRING(CONCAT4(lib,name,DLLPOSTFIX,UNXSUFFIX)) 90 #define FILTER_LIBNAME(name) LIBNAME(name) 91 #define EXENAME(name) STRING(name) 92 #define PROFILENAME(name) STRING(CONCAT2(name,rc)) 93 #define SPECIAL_NAME(name) STRING(CONCAT3(lib,name,UNXSUFFIX)) 94 #ifdef MACOSX 95 #define SPECIAL_NAME_VER(name,version) STRING(CONCAT5(lib,name,.,version,UNXSUFFIX)) 96 #else 97 #define SPECIAL_NAME_VER(name,version) STRING(CONCAT5(lib,name,UNXSUFFIX,.,version)) 98 #endif 99 #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,UNXSUFFIX)) 100#else 101 #define LIBNAME(name) STRING(CONCAT3(name,DLLPOSTFIX,.dll)) 102 #define FILTER_LIBNAME(name) LIBNAME(name) 103 #define EXENAME(name) STRING(CONCAT2(name,.exe)) 104 #define PROFILENAME(name) STRING(CONCAT2(name,.ini)) 105 #define SPECIAL_NAME(name) STRING(CONCAT2(name,.dll)) 106 #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,.dll)) 107#endif 108 109#define RESFILENAME(name,lang) STRING(CONCAT3(name,lang,.res)) 110#define SHORTRESFILENAME(name,lang) STRING(CONCAT3(name,lang,.res)) 111#define READMETXTFILENAME(name,lang,ext) STRING(CONCAT4(name,lang,.,ext)) 112#define READMEFILENAME(name,lang) STRING(CONCAT2(name,lang)) 113#define HELPFILENAME(name,endung) STRING(CONCAT3(name,.,endung)) 114#define EXTRAFILENAME(name,lang) STRING(CONCAT3(name,lang,.zip)) 115#define CONFIGLANGFILENAME(name,lang,ext) STRING(CONCAT4(name,lang,.,ext)) 116 117//#if defined(WNT) || defined(OS2) 118#define SCP2_OOO_BIN_DIR gid_Brand_Dir_Program 119//#else 120//#define SCP2_OOO_BIN_DIR gid_Dir_Program 121//#endif 122 123#define BIN_FILE_BODY \ 124 UnixRights = 555 125 126#define TXT_FILE_BODY \ 127 UnixRights = 444 128 129#define USER_FILE_BODY \ 130 UnixRights = 644 131 132#define PACKED_TXT_FILE_BODY \ 133 TXT_FILE_BODY; \ 134 Styles = (PACKED) 135 136#define PACKED_TXT_FILE_BODY_PATCH \ 137 TXT_FILE_BODY; \ 138 Styles = (PACKED,PATCH) 139 140#define ARCHIVE_TXT_FILE_BODY \ 141 TXT_FILE_BODY; \ 142 Styles = (ARCHIVE) 143 144#define ARCHIVE_TXT_FILE_BODY_PATCH \ 145 TXT_FILE_BODY; \ 146 Styles = (ARCHIVE,PATCH) 147 148#define ARCHIVE_SUBST_FILE_BODY \ 149 TXT_FILE_BODY; \ 150 Styles = (ARCHIVE,SUBSTITUTE) 151 152#define ARCHIVE_SUBST_FILE_BODY_PATCH \ 153 TXT_FILE_BODY; \ 154 Styles = (ARCHIVE,SUBSTITUTE,PATCH) 155 156#define PACKED_LIB_FILE_BODY \ 157 TXT_FILE_BODY; \ 158 Styles = (PACKED); \ 159 Dir = SCP2_OOO_BIN_DIR 160 161#define PACKED_LIB_FILE_BODY_PATCH \ 162 TXT_FILE_BODY; \ 163 Styles = (PACKED,PATCH); \ 164 Dir = SCP2_OOO_BIN_DIR 165 166#define PACKED_FILTER_FILE_BODY \ 167 TXT_FILE_BODY; \ 168 Styles = (PACKED); \ 169 Dir = gid_Dir_Filter 170 171#define PACKED_FILTER_FILE_BODY_PATCH \ 172 TXT_FILE_BODY; \ 173 Styles = (PACKED,PATCH); \ 174 Dir = gid_Dir_Filter 175 176#define STD_LIB_FILE(id,name) \ 177 File id \ 178 Name = LIBNAME(name); \ 179 PACKED_LIB_FILE_BODY; \ 180 End 181 182#define STD_LIB_FILE_PATCH(id,name) \ 183 File id \ 184 Name = LIBNAME(name); \ 185 PACKED_LIB_FILE_BODY_PATCH; \ 186 End 187 188#define SPECIAL_LIB_FILE(id,name) \ 189 File id \ 190 Name = SPECIAL_NAME(name); \ 191 PACKED_LIB_FILE_BODY; \ 192 End 193 194#define SPECIAL_LIB_FILE_PATCH(id,name) \ 195 File id \ 196 Name = SPECIAL_NAME(name); \ 197 PACKED_LIB_FILE_BODY_PATCH; \ 198 End 199 200#define STD_RES_FILE(id,name) \ 201 File id \ 202 TXT_FILE_BODY; \ 203 RESFILE_ALL_LANG(name); \ 204 Dir = gid_Dir_Resource; \ 205 Styles = (PACKED); \ 206 End 207 208#define BRAND_RES_FILE(id,name) \ 209 File id \ 210 TXT_FILE_BODY; \ 211 RESFILE_ALL_LANG(name); \ 212 Dir = gid_Brand_Dir_Resource; \ 213 Styles = (PACKED); \ 214 End 215 216#define STD_RES_FILE_PATCH(id,name) \ 217 File id \ 218 TXT_FILE_BODY; \ 219 RESFILE_ALL_LANG(name); \ 220 Dir = gid_Dir_Resource; \ 221 Styles = (PACKED,PATCH); \ 222 End 223 224#define STD_RES_FILE_ONLY_PATCH(id,name) \ 225 File id \ 226 TXT_FILE_BODY; \ 227 RESFILE_ALL_LANG(name); \ 228 Dir = gid_Dir_Resource; \ 229 Styles = (PACKED,PATCH,PATCH_ONLY); \ 230 End 231 232#define STD_FILTER_FILE(id,name) \ 233 File id \ 234 PACKED_LIB_FILE_BODY; \ 235 Name = FILTER_LIBNAME(name); \ 236 End 237 238#define STD_FILTER_FILE_PATCH(id,name) \ 239 File id \ 240 PACKED_LIB_FILE_BODY_PATCH; \ 241 Name = FILTER_LIBNAME(name); \ 242 End 243 244#define STD_FONTUNX_FILE(id,name,fontname) \ 245 File id \ 246 TXT_FILE_BODY; \ 247 Dir = gid_Dir_Fonts_Truetype; \ 248 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 249 Name = STRING(name) ; \ 250 End 251 252#define STD_FONTWIN_FILE(id,name,fontname) \ 253 File id \ 254 TXT_FILE_BODY; \ 255 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 256 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 257 Name = STRING(name) ; \ 258 FontName = STRING(fontname) ; \ 259 NetDir = gid_Dir_Winfonts; \ 260 End 261 262#ifdef UNX 263#define STD_FONT_FILE(id,name,fontname) \ 264 File id \ 265 TXT_FILE_BODY; \ 266 Dir = gid_Dir_Fonts_Truetype; \ 267 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 268 Name = STRING(name) ; \ 269 End 270#endif 271 272#ifdef UNX 273#define STD_FONT_FILE_DUO(id,name,unxfontname,winfontname) \ 274 File id \ 275 TXT_FILE_BODY; \ 276 Dir = gid_Dir_Fonts_Truetype; \ 277 Styles = (PACKED, FONT_WARN_IF_EXISTS); \ 278 Name = STRING(name) ; \ 279 End 280#endif 281 282#ifdef WNT 283#define STD_FONT_FILE(id,name,fontname) \ 284 File id \ 285 TXT_FILE_BODY; \ 286 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 287 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 288 Name = STRING(name) ; \ 289 FontName = STRING(fontname) ; \ 290 NetDir = gid_Dir_Winfonts; \ 291 End 292#endif 293 294#ifdef WNT 295#define STD_FONT_FILE_DUO(id,name,unxfontname,winfontname) \ 296 File id \ 297 TXT_FILE_BODY; \ 298 Dir = PREDEFINED_OSSYSTEMFONTDIR; \ 299 Styles = (PACKED,FONT,DONT_DELETE,FONT_WARN_IF_EXISTS); \ 300 Name = STRING(name) ; \ 301 FontName = STRING(winfontname) ; \ 302 NetDir = gid_Dir_Winfonts; \ 303 End 304#endif 305 306#define STD_JAR_FILE(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); \ 312 End 313 314#define STD_JAR_FILE_PATCH(id,name) \ 315 File id \ 316 TXT_FILE_BODY; \ 317 Name = STRING(CONCAT2(name,.jar)); \ 318 Dir = gid_Dir_Classes; \ 319 Styles = (PACKED,DONT_OVERWRITE,PATCH); \ 320 End 321 322#define JARFILENAME(name) STRING(CONCAT2(name,.jar)) 323 324#define PACKED_SHELLNEW_FILE_BODY \ 325 TXT_FILE_BODY; \ 326 Styles = (PACKED,WORKSTATION, OVERWRITE); \ 327 Dir = PREDEFINED_OSSHELLNEWDIR; \ 328 NetDir = gid_Dir_Shellnew 329 330#define STD_SHELLNEW_FILE(id,name) \ 331 File id \ 332 PACKED_SHELLNEW_FILE_BODY; \ 333 Name = STRING(name) ; \ 334 End 335 336#define SPECIAL_COMPONENT_LIB_FILE(id,name) \ 337 File id \ 338 Name = SPECIAL_COMPONENT_LIB_NAME(name); \ 339 PACKED_LIB_FILE_BODY; \ 340 End 341 342#define SPECIAL_COMPONENT_LIB_FILE_PATCH(id,name) \ 343 File id \ 344 Name = SPECIAL_COMPONENT_LIB_NAME(name); \ 345 PACKED_LIB_FILE_BODY_PATCH; \ 346 End 347 348#define WINW4WFILTERFILENAME(name) STRING(CONCAT2(name,f32w.dll)) 349 350#define STD_WIN_W4WFILTER_FILE(id,name) \ 351 File id \ 352 PACKED_FILTER_FILE_BODY; \ 353 Name = WINW4WFILTERFILENAME(name); \ 354 End 355 356#define SOLSW4WFILTERFILENAME(name) STRING(CONCAT2(w4w, name)) 357 358#define STD_SOLS_W4WFILTER_FILE(id,name) \ 359 File id \ 360 BIN_FILE_BODY; \ 361 Styles = (PACKED); \ 362 Dir = gid_Dir_Filter; \ 363 Name = SOLSW4WFILTERFILENAME(name); \ 364 End 365 366#define SPECIAL_NO_WARNING_IF_NOT_EXISTS_FILE(id,name) \ 367 File id \ 368 TXT_FILE_BODY; \ 369 Name = LIBNAME(name); \ 370 Dir = SCP2_OOO_BIN_DIR; \ 371 Styles = (PACKED, NO_WARNING_IF_NOT_EXISTS); \ 372 End 373 374// --------------------------------------- 375#define CONDITIONAL_MODULE_ENTRY(name,modid) \ 376 Module gid_Module_Root_Reg_##name \ 377 ParentID = modid; \ 378 Name = STRING(CONCAT2(gid_Module_Root_,name)); \ 379 Description = STRING(CONCAT2(gid_Module_Root_,name)); \ 380 Default = YES; \ 381 Styles = (HIDDEN_ROOT); \ 382End 383 384#define REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \ 385 RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \ 386 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 387 ModuleID = modid; \ 388 Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \ 389 Name = STRING(CONCAT2(OpenOffice.,name)); \ 390 Value = " "; \ 391 End 392 393#define REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \ 394 RegistryItem gid_Regitem_OpenOffice_##cond##_OpenWith_##doc_type \ 395 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 396 ModuleID = modid; \ 397 Subkey = STRING(CONCAT3(.,key,\OpenWithProgIDs)); \ 398 Name = STRING(CONCAT2(OpenOffice.,name)); \ 399 Value = " "; \ 400 End 401 402#define CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 403 RegistryItem gid_Regitem__##name \ 404 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 405 ModuleID = gid_Module_Root_Reg_##name; \ 406 Subkey = STRING(CONCAT2(.,key)); \ 407 Value = STRING(CONCAT2(OpenOffice.,name)); \ 408 ComponentCondition = STRING(CONCAT3(REGISTER_,cond,=1)); \ 409 End 410 411#define REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 412 RegistryItem CONCAT2(gid_Regitem_Openoffice_,name) \ 413 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 414 ModuleID = modid; \ 415 Subkey = STRING(CONCAT2(OpenOffice.,name)); \ 416 REG_VALUE_LNG(disp_name) \ 417 End 418 419#define REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 420 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Defaulticon) \ 421 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 422 ModuleID = modid; \ 423 Subkey = STRING(CONCAT3(OpenOffice.,name,\DefaultIcon)); \ 424 Value = "<progpath>\program\soffice.exe," STRING(icon_id); \ 425 End 426 427#define REGISTRY_ENTRY_SHELL(name,default,modid) \ 428 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell) \ 429 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 430 ModuleID = modid; \ 431 Subkey = STRING(CONCAT3(OpenOffice.,name,\shell)); \ 432 Value = STRING(default); \ 433 End 434 435#define REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 436 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New) \ 437 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 438 ModuleID = modid; \ 439 Subkey = STRING(CONCAT3(OpenOffice.,name,\shell\new)); \ 440 REG_VALUE_LNG(NEW) \ 441 End \ 442 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_New_Command) \ 443 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 444 ModuleID = modid; \ 445 Subkey = STRING(CONCAT3(OpenOffice.,name,\shell\new\command)); \ 446 Value = "\"<progpath>\program\\" STRING(app) "\" -n \"%1\""; \ 447 End 448 449#define REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 450 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Open_Command) \ 451 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 452 ModuleID = modid; \ 453 Subkey = STRING(CONCAT3(OpenOffice.,name,\shell\open\command)); \ 454 Value = "\"<progpath>\program\\" STRING(app) "\" -o \"%1\""; \ 455 End 456 457#define REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 458 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Print_Command) \ 459 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 460 ModuleID = modid; \ 461 Subkey = STRING(CONCAT3(OpenOffice.,name,\shell\print\command)); \ 462 Value = "\"<progpath>\program\\" STRING(app) "\" -p \"%1\""; \ 463 End 464 465#define REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 466 RegistryItem CONCAT3(gid_Regitem_Openoffice_,name,_Shell_Printto_Command) \ 467 ParentID = PREDEFINED_HKEY_CLASSES_ROOT; \ 468 ModuleID = modid; \ 469 Subkey = STRING(CONCAT3(OpenOffice.,name,\shell\printto\command)); \ 470 Value = "\"<progpath>\program\\" STRING(app) "\" -pt \"%2\" \"%1\""; \ 471 End 472 473#define REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \ 474 RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \ 475 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 476 ModuleID = modid; \ 477 Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \ 478 Name = STRING(CONCAT2(.,key)); \ 479 Value = STRING(CONCAT2(OpenOffice.,name)); \ 480 Styles = (); \ 481 End 482 483#define REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \ 484 RegistryItem CONCAT2(gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabilities_FileAssociations_,name) \ 485 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 486 ModuleID = modid; \ 487 Subkey = STRING(Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\Capabilities\FileAssociations); \ 488 Name = STRING(CONCAT2(.,key)); \ 489 Value = STRING(CONCAT2(OpenOffice.,name)); \ 490 Styles = (); \ 491 End 492 493#define CONDITIONAL_REGISTER_DOC_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \ 494 CONDITIONAL_MODULE_ENTRY(name,modid) \ 495 REGISTRY_ENTRY_OPEN_WITH(name,cond,doc_type,modid,key) \ 496 CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 497 REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 498 REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 499 REGISTRY_ENTRY_SHELL(name,default,modid) \ 500 REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 501 REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 502 REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 503 REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 504 REGISTRY_ENTRY_CAPABILITIES(name,modid,key,doc_type) \ 505 506#define CONDITIONAL_REGISTER_DOCTEMPLATE_EXTENSION(name,modid,key,cond,disp_name,icon_id,app,default,doc_type) \ 507 CONDITIONAL_MODULE_ENTRY(name,modid) \ 508 REGISTRY_ENTRY_OPEN_WITH_TMPL(name,cond,doc_type,modid,key) \ 509 CONDITIONAL_REGISTRY_ENTRY_EXT(name,cond,key) \ 510 REGISTRY_ENTRY_DOC(name,modid,disp_name) \ 511 REGISTRY_ENTRY_ICON(name,modid,icon_id) \ 512 REGISTRY_ENTRY_SHELL(name,default,modid) \ 513 REGISTRY_ENTRY_NEW_CMD(name,modid,app) \ 514 REGISTRY_ENTRY_OPEN_CMD(name,modid,app) \ 515 REGISTRY_ENTRY_PRINT_CMD(name,modid,app) \ 516 REGISTRY_ENTRY_PRINTTO_CMD(name,modid,app) \ 517 REGISTRY_ENTRY_TEMPLATE_CAPABILITIES(name,modid,key,doc_type) \ 518 519// --------------------------------------- 520 521#define REGISTER_PROPERTY_HANDLER_FOR_EXTENSION(extension) \ 522 RegistryItem CONCAT2(gid_Regitem_Software_Microsoft_Windows_CurrentVersion_PropertySystem_PropertyHandlers_,extension) \ 523 ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; \ 524 ModuleID = gid_Module_Optional_Winexplorerext_PropertyHdl; \ 525 ComponentCondition = "VersionNT >= 600"; \ 526 Styles = (X64); \ 527 Subkey = STRING(CONCAT2(SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.,extension)); \ 528 Value = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \ 529 Val64 = "{AE424E85-F6DF-4910-A6A9-438797986431}"; \ 530 End 531 532// --------------------------------------- 533 534#if defined(WNT) || defined(OS2) 535#define SCP2_URE_DL_DIR gid_Dir_Common_Ure 536//#define SCP2_URE_DL_DIR gid_Dir_Ure_Bin 537#define SCP2_URE_DL_NORMAL(n) n ".dll" 538#define SCP2_URE_DL_BARE(n) n ".dll" 539#define SCP2_URE_DL_VER(n, v) n v ".dll" 540#define SCP2_URE_DL_COMID_VER(n, v) n v STRING(COMID) ".dll" 541#define SCP2_URE_DL_UNO_VER(n, v) n v ".dll" 542#define SCP2_URE_DL_UNO_COMID_VER(n, v) n v STRING(COMID) ".dll" 543#define SCP2_URE_SHARE_DIR gid_Dir_Common_Ure 544#else 545#define SCP2_URE_DL_DIR gid_Dir_Ure_Lib 546#define SCP2_URE_DL_NORMAL(n) "lib" n STRING(UNXSUFFIX) 547#define SCP2_URE_DL_BARE(n) n STRING(UNXSUFFIX) 548#define SCP2_URE_DL_VER(n, v) "lib" n STRING(UNXSUFFIX) "." v 549#define SCP2_URE_DL_COMID_VER(n, v) \ 550 "lib" n STRING(COMID) STRING(UNXSUFFIX) "." v 551#define SCP2_URE_DL_COMID_NORMAL(n) \ 552 "lib" n STRING(COMID) STRING(UNXSUFFIX) 553#define SCP2_URE_DL_UNO_VER(n, v) "libuno_" n STRING(UNXSUFFIX) "." v 554#define SCP2_URE_DL_UNO_NORMAL(n) "libuno_" n STRING(UNXSUFFIX) 555#define SCP2_URE_DL_UNO_COMID_VER(n, v) \ 556 "libuno_" n STRING(COMID) STRING(UNXSUFFIX) "." v 557#define SCP2_URE_DL_UNO_COMID_NORMAL(n) \ 558 "libuno_" n STRING(COMID) STRING(UNXSUFFIX) 559#define SCP2_URE_SHARE_DIR gid_Dir_Ure_Share 560#endif 561#if defined MACOSX 562#define SCP2_URE_JDL_NORMAL(n) "lib" n ".jnilib" 563#else 564#define SCP2_URE_JDL_NORMAL(n) SCP2_URE_DL_NORMAL(n) 565#endif 566 567#include <langmacros.inc> 568 569 570#endif // MACROS_INC 571 572