1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
15 * The Original Code is Mozilla Communicator client code.
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 2000
20 * the Initial Developer. All Rights Reserved.
24 * Alternatively, the contents of this file may be used under the terms of
25 * either of the GNU General Public License Version 2 or later (the "GPL"),
26 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
36 * ***** END LICENSE BLOCK ***** */
38 #include
"nsISupports.idl"
40 interface nsIMIMEInfo
;
47 #define NS_INTERNETCONFIGSERVICE_CONTRACTID \
48 "@mozilla.org/mac/internet-config-service;1"
52 native FSSpec
(FSSpec
);
53 [ptr] native FSSpecPtr
(FSSpec
);
55 [scriptable
, uuid(9B8B9D80
-5F4F
-11D4
-9696-0060083A0BCF
)]
56 interface nsIInternetConfigService
: nsISupports
58 const unsigned long eICColor_WebBackgroundColour
= 1;
59 const unsigned long eICColor_WebReadColor
= 2;
60 const unsigned long eICColor_WebTextColor
= 3;
61 const unsigned long eICColor_WebUnreadColor
= 4;
62 const unsigned long eICBoolean_WebUnderlineLinks
= 11;
63 const unsigned long eICString_WWWHomePage
= 101;
64 const unsigned long eICString_WebSearchPagePrefs
= 102;
65 const unsigned long eICString_MacSearchHost
= 103;
66 const unsigned long eICString_FTPHost
= 121;
67 const unsigned long eICBoolean_UsePassiveFTP
= 122;
68 const unsigned long eICBoolean_UseFTPProxy
= 123; const unsigned long eICString_FTPProxyUser
= 124;
69 const unsigned long eICString_FTPProxyAccount
= 125; const unsigned long eICString_FTPProxyHost
= 126;
70 const unsigned long eICString_FTPProxyPassword
= 127;
71 const unsigned long eICBoolean_UseHTTPProxy
= 130; const unsigned long eICString_HTTPProxyHost
= 131;
72 const unsigned long eICString_LDAPSearchbase
= 201; const unsigned long eICString_LDAPServer
= 202;
73 const unsigned long eICString_SMTPHost
= 221;
74 const unsigned long eICString_Email
= 222;
75 const unsigned long eICString_MailAccount
= 223; const unsigned long eICString_MailPassword
= 224;
76 const unsigned long eICText_MailHeaders
= 225; const unsigned long eICText_Signature
= 226;
77 const unsigned long eICBoolean_NewMailDialog
= 231;
78 const unsigned long eICBoolean_NewMailFlashIcon
= 232;
79 const unsigned long eICBoolean_NewMailPlaySound
= 233; const unsigned long eICString_NewMailSoundName
= 234;
80 const unsigned long eICString_NNTPHost
= 241;
81 const unsigned long eICString_NewsAuthUsername
= 242; const unsigned long eICString_NewsAuthPassword
= 243;
82 const unsigned long eICText_NewsHeaders
= 244;
83 const unsigned long eICString_InfoMacPreferred
= 245;
84 const unsigned long eICString_Organization
= 251; const unsigned long eICString_RealName
= 252;
85 const unsigned long eICText_SnailMailAddress
= 253;
86 const unsigned long eICString_QuotingString
= 254;
87 const unsigned long eICString_GopherHost
= 301;
88 const unsigned long eICBoolean_UseGopherProxy
= 302; const unsigned long eICString_GopherProxy
= 303;
89 const unsigned long eICBoolean_UseSocks
= 321; const unsigned long eICString_SocksHost
= 322;
90 const unsigned long eICString_TelnetHost
= 331;
91 const unsigned long eICString_IRCHost
= 341;
92 const unsigned long eICString_NTPHost
= 351;
93 const unsigned long eICString_WAISGateway
= 381;
94 const unsigned long eICString_FingerHost
= 382; const unsigned long eICText_Plan
= 383;
95 const unsigned long eICString_WhoisHost
= 384;
96 const unsigned long eICString_PhHost
= 385;
97 const unsigned long eICString_ArchiePreferred
= 386;
98 const unsigned long eICString_UMichPreferred
= 391;
100 const unsigned long eIICMapFlag_BinaryMask
= 1; /* file should be transfered in binary as opposed to text mode*/
101 const unsigned long eIICMapFlag_ResourceForkMask
= 2; /* the resource fork of the file is significant*/
102 const unsigned long eIICMapFlag_DataForkMask
= 4; /* the data fork of the file is significant*/
103 const unsigned long eIICMapFlag_PostMask
= 8; /* post process using post fields*/
104 const unsigned long eIICMapFlag_NotIncomingMask
= 16; /* ignore this mapping for incoming files*/
105 const unsigned long eIICMapFlag_NotOutgoingMask
= 32; /* ignore this mapping for outgoing files*/
108 void launchURL
(in string url
);
110 boolean hasMappingForMIMEType
(in string mimetype
);
112 boolean hasProtocolHandler
(in string protocol
);
114 // pass in a mime type or a file extension.....
115 void fillInMIMEInfo
(in string mimetype
, in string aFileExtension
, out nsIMIMEInfo mimeinfo
);
117 void getMIMEInfoFromExtension
(in string aFileExt
, out nsIMIMEInfo mimeinfo
);
119 void getMIMEInfoFromTypeCreator
(in PRUint32 aType
, in PRUint32 aCreator
, in string aFileExt
, out nsIMIMEInfo mimeInfo
);
121 //Return a File Mapping for the specified file. If no mapping found, return -1.
122 [noscript
] long getFileMappingFlags
(in FSSpecPtr fsspec
, in boolean lookupByExtensionFirst
);
124 [noscript
] void getDownloadFolder
(out FSSpec fsspec
);
126 ACString getString
(in unsigned long keyenum
);
128 unsigned long getColor
(in unsigned long keyenum
);
130 boolean getBoolean
(in unsigned long keyenum
);