/* $Id: misc.cpp,v 1.1 1998/09/25 18:01:36 ramiro%netscape.com Exp $ * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. Portions * created by Warwick Allison, Kalle Dalheimer, Eirik Eng, Matthias * Ettrich, Arnt Gulbrandsen, Haavard Nord and Paul Olav Tvete are * Copyright (C) 1998 Warwick Allison, Kalle Dalheimer, Eirik Eng, * Matthias Ettrich, Arnt Gulbrandsen, Haavard Nord and Paul Olav * Tvete. All Rights Reserved. */ #include #include #include #include "qtfe.h" #if 0 #include #endif #include #include #include #include "csid.h" #define Boolean XP_Bool #if defined(XP_WIN) #define _RESDEF_H_ #define RES_OFFSET 7000 #undef RES_START #define RES_START #undef BEGIN_STR #define BEGIN_STR(arg) static char *(arg)(int16 i) { switch (i) { #undef ResDef #define ResDef(name,id,msg) case (id)+RES_OFFSET: return (msg); #undef END_STR #define END_STR(arg) } return NULL; } #else #define RESOURCE_STR #endif #include "qtfe_err.h" static void useArgs( const char *fn, ... ) { if (0&&fn) printf( "%s\n", fn ); } /* From ./xfe.c: */ extern "C" const char * FE_UsersMailAddress(void) { useArgs( "FE_UsersMailAddress \n" ); return "unknown@unknown"; } /* From ./xfe.c: */ extern "C" const char * FE_UsersFullName(void) { useArgs( "FE_UsersFullName \n" ); return "Unknown"; } /* From ./xfe.c: */ extern "C" const char * FE_UsersSignature(void) { useArgs( "FE_UsersSignature \n" ); return "This is not a signature"; } /* From ./editor.c: */ extern "C" Boolean FE_EditorPrefConvertFileCaseOnWrite(void) { useArgs( "Boolean FE_EditorPrefConvertFileCaseOnWrite"); return 0; } /* From ./src/MozillaApp.cpp: */ /* * Returns a string representing the default installed location of * the NetHelp directory as a file:// URL. The caller is expected to * free the returned string. Used by mkhelp.c to retrieve NetHelp content. */ extern "C" char * FE_GetNetHelpDir() { useArgs( "FE_GetNetHelpDir" ); return "file://~hanord/images/scientific"; } /* From ./src/MozillaApp.cpp: */ /* * Returns the "default" MWContext to use when bringing up a nethelp * topic. This should try to return the context associated with the topmost * visible window. */ extern "C" MWContext *FE_GetNetHelpContext() { useArgs( "FE_GetNetHelpContext"); return 0; } /* Header file comment: */ /* * If the Netcaster component is not currently running, starts it and opens * the Netcaster drawer. If the component is running, but it does not have * focus (it's not on top), or the drawer is closed, brings the window to top * and opens the drawer. If the component is running, has focus, and is open, * does nothing. */ /* From ./src/context_funcs.cpp: */ extern "C" void FE_RunNetcaster(MWContext * ) {} extern "C" void fe_sgiStart() { } /* From ./icons.c: */ extern "C" void FE_GetPSIconDimensions(int icon_number, int *width, int *height) { useArgs( "FE_GetPSIconDimensions", icon_number, width, height); } extern "C" XP_Bool FE_GetPSIconData(int icon_number, IL_Pixmap *image, IL_Pixmap *mask) { useArgs( "FE_GetPSIconData", icon_number, image, mask); return 0; } /* * Returns true if Netcaster is installed, false otherwise. */ extern "C" XP_Bool FE_IsNetcasterInstalled(void) { useArgs( "XP_Bool FE_IsNetcasterInstalled"); return 0; } #ifdef XP_UNIX extern "C" void FE_ShowMinibuffer(MWContext *) { } #endif #ifdef XP_UNIX //extern "C" char **fe_encoding_extensions=0; // This is global - used in lib/libnet/mkcache.c #endif /* asks the user if they want to stream data. * -1 cancel * 0 No, don't stream data, play from the file * 1 Yes, stream the data from the network */ extern "C" int FE_AskStreamQuestion(MWContext * window_id) { useArgs( "FE_AskStreamQuestion", window_id); return 0; } // Called from modules/rdf/src/glue.c extern "C" MWContext *FE_GetRDFContext(void) { useArgs( "MWContext *FE_GetRDFContext"); return 0; } // Called from lib/layout/edtsave.cpp extern "C" ED_SaveOption FE_SaveFileExistsDialog( MWContext *pContext, char* pFilename ) { useArgs( "FE_SaveFileExistsDialog", pContext, pFilename ); return (ED_SaveOption) 0; } /* * return a valid local base file name for the given URL. If there is no * base name, return 0. */ extern "C" PUBLIC char* FE_URLToLocalName ( char* ) { printf( "FE_URLToLocalName \n" ); return "/home/agulbra/tmp/sex"; } /* Similar to above, but dialog to ask user if they want to save changes * should have "AutoSave" caption and extra line to * tell them "Cancel" will turn off Autosave until they * save the file later. */ extern "C" Bool FE_CheckAndAutoSaveDocument (MWContext *pMWContext) { printf( "FE_CheckAndAutoSaveDocument %p \n", pMWContext ); return TRUE; } /* Given a URL, this might return a better suggested name to save it as. When you have a URL, you can sometimes get a suggested name from URL_s->content_name, but if you're saving a URL to disk before the URL_Struct has been filled in by netlib, you don't have that yet. So if you're about to prompt for a file name *before* you call FE_GetURL with a format_out of FO_SAVE_AS, call this function first to see if it can offer you advice about what the suggested name for that URL should be. (This works by looking in a cache of recently-displayed MIME objects, and seeing if this URL matches. If it does, the remembered content-name will be used.) */ #if 0 Temporary suspended until I know why this function is duplicated extern "C" char * MimeGuessURLContentName (MWContext *context, const char *url) { printf( "MimeGuessURLContentName %p, %s\n", context, url ); return 0; } #endif /* If pszLocalName is not NULL, we return the full pathname * in local platform syntax. Caller must free this string. * Returns TRUE if file already exists * Windows version implemented in winfe\fegui.cpp */ extern "C" Bool XP_ConvertUrlToLocalFile (const char * szURL, char **pszLocalName) { printf( "XP_ConvertUrlToLocalFile %s, %p\n", szURL, pszLocalName ); return 0; } /* Construct a temporary filename in same directory as supplied "file:///" type URL * Used as write destination for saving edited document * User must free string. * Windows version implemented in winfe\fegui.cpp */ extern "C" char * XP_BackupFileName ( const char * szURL ) { printf( "XP_BackupFileName %s \n", szURL ); return 0; } extern "C" XP_Bool FE_FindCommand(MWContext *context, char *szName, XP_Bool bCaseSensitve, XP_Bool bBackwards, XP_Bool bWrap) { printf( "FE_FindCommand %p, %s, %d, %d, %d \n", context, szName, (int)bCaseSensitve, (int)bBackwards, (int)bWrap ); return 0; } // Called from modules/libpref/src/unix/unixpref.c, where the // alternative is direct Motif calls. // extern "C" XP_Bool FE_GetLabelAndMnemonic(char* name, char** str, void* v_xm_str, void* v_mnemonic) { printf( "FE_GetLabelAndMnemonic %s, %p, %p, %p\n", name, str, v_xm_str, v_mnemonic); return 0; } /** * Get a cross platform string resource by ID. * * This function makes localization easier for cross platform strings. * The cross platfrom string resources are defined in allxpstr.h. * You should use XP_GetString when: *
    *
  1. Any human readable string that not in front-end *
  2. With the exception of HTML strings (use XP_GetStringForHTML) *
  3. The translator/localizer will then translate the string defined * in allxpstr.h and show the translated version to user. *
* The caller should make a copy of the returned string if it needs to use * it for a while. The same memory buffer will be used to store * another string the next time this function is called. The caller * does not need to free the memory of the returned string. * @param id Specifies the string resource ID * @return Localized (translated) string * @see XP_GetStringForHTML * @see INTL_ResourceCharSet */ extern "C" char *XP_GetBuiltinString(int16 i); extern "C" PUBLIC char * XP_GetString (int id) { #if defined(XP_WIN) static char buf[256]; #endif char * ret = mcom_cmd_qtfe_qtfe_err_h_strings (id + RES_OFFSET); if ( !ret ) { #if 0 sprintf( buf, "XP_GetString: %d", id ); ret = buf; #else ret = XP_GetBuiltinString(id); #endif } return ret; }