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