gecko-dev/cmd/xfe/pref_helpers.h
1999-11-02 22:43:10 +00:00

105 lines
2.8 KiB
C

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#ifndef __xfe_pref_helpers_h
#define __xfe_pref_helpers_h
#include <X11/Intrinsic.h>
#include "net.h"
struct fe_prefs_helpers_data
{
MWContext *context;
/* Helpers page */
Widget helpers_selector, helpers_page;
Widget helpers_list;
/* New Helper and Plugin stuff */
Widget mime_types_desc_text;
Widget mime_types_text;
Widget mime_types_suffix_text;
/* Editor */
Widget navigator_b;
Widget plugin_b;
Widget plugin_option;
Widget plugin_pulldown;
Widget app_b;
Widget app_text;
Widget app_browse;
Widget save_b;
Widget unknown_b;
Widget editor;
Widget edit_b;
Widget new_b;
Widget delete_b;
/* Data Stuff */
int pos;
NET_cdataStruct *cd;
char **plugins;
};
#ifdef __cplusplus
#define EXTERN extern "C"
#else
#define EXTERN extern
#endif
EXTERN void
fe_helpers_build_mime_list(struct fe_prefs_helpers_data *fep);
EXTERN struct fe_prefs_helpers_data *
fe_helpers_make_helpers_page (MWContext *context, Widget parent);
EXTERN void
fe_helpers_prepareForDestroy(struct fe_prefs_helpers_data *fep);
/* Given a mimetype string, will return the mailcap entry (md_list)
* associated with this mimetype. If the mimetype has no mailcap entry
* associated with this, returns NULL.
*/
EXTERN NET_mdataStruct *
fe_helpers_get_mailcap_from_type(char *type);
/* Adds a new entry into the mailcap list (md_list) */
EXTERN void
fe_helpers_add_new_mailcap_data(char *contenttype, char* src_str,
char *command, char *xmode, Boolean isLocal);
/* Update the xmode of a mailcap entry. Also the src_string is updated.
* If the mailcap entry is NULL, this will create a new one.
*/
EXTERN void
fe_helpers_update_mailcap_entry(char *contenttype, NET_mdataStruct *md,
char *xmode);
/* From plugins.c */
EXTERN XP_Bool fe_IsMailcapEntryPlugin(NET_mdataStruct *md_item);
EXTERN char *fe_GetPluginNameFromMailcapEntry(NET_mdataStruct *md_item);
EXTERN int fe_GetMimetypeInfoFromPlugin(char *pluginName, char *mimetype,
char **r_desc, char **r_ext);
#endif