зеркало из https://github.com/mozilla/pjs.git
273 строки
9.4 KiB
Python
273 строки
9.4 KiB
Python
# ***** BEGIN LICENSE BLOCK *****
|
|
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
#
|
|
# The contents of this file are subject to the Mozilla 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/MPL/
|
|
#
|
|
# 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 the Python XPCOM language bindings.
|
|
#
|
|
# The Initial Developer of the Original Code is
|
|
# ActiveState Tool Corp.
|
|
# Portions created by the Initial Developer are Copyright (C) 2000, 2001
|
|
# the Initial Developer. All Rights Reserved.
|
|
#
|
|
# Contributor(s):
|
|
# Mark Hammond <mhammond@skippinet.com.au> (original author)
|
|
#
|
|
# Alternatively, the contents of this file may be used under the terms of
|
|
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
# in which case the provisions of the GPL or the LGPL are applicable instead
|
|
# of those above. If you wish to allow use of your version of this file only
|
|
# under the terms of either the GPL or the LGPL, and not to allow others to
|
|
# use your version of this file under the terms of the MPL, indicate your
|
|
# decision by deleting the provisions above and replace them with the notice
|
|
# and other provisions required by the GPL or the LGPL. If you do not delete
|
|
# the provisions above, a recipient may use your version of this file under
|
|
# the terms of any one of the MPL, the GPL or the LGPL.
|
|
#
|
|
# ***** END LICENSE BLOCK *****
|
|
|
|
# Could maybe later have a process that extracted these enums should they change.
|
|
# from nsFileLocations.h
|
|
App_DirectoryBase = 0x00010000
|
|
App_PrefsDirectory30 = App_DirectoryBase + 1
|
|
App_PrefsDirectory40 = App_DirectoryBase + 2
|
|
App_PrefsDirectory50 = App_DirectoryBase + 3
|
|
App_ResDirectory = App_DirectoryBase + 5
|
|
App_UserProfileDirectory30 = App_DirectoryBase + 10
|
|
App_UserProfileDirectory40 = App_DirectoryBase + 11
|
|
App_UserProfileDirectory50 = App_DirectoryBase + 12
|
|
App_DefaultUserProfileRoot30 = App_DirectoryBase + 13
|
|
App_DefaultUserProfileRoot40 = App_DirectoryBase + 14
|
|
App_DefaultUserProfileRoot50 = App_DirectoryBase + 15
|
|
App_ProfileDefaultsFolder30 = App_DirectoryBase + 16
|
|
App_ProfileDefaultsFolder40 = App_DirectoryBase + 17
|
|
App_ProfileDefaultsFolder50 = App_DirectoryBase + 18
|
|
App_PrefDefaultsFolder50 = App_DirectoryBase + 19
|
|
App_DefaultsFolder50 = App_DirectoryBase + 25
|
|
App_ComponentsDirectory = App_DirectoryBase + 30
|
|
App_ChromeDirectory = App_DirectoryBase + 31
|
|
App_PluginsDirectory = App_DirectoryBase + 32
|
|
App_UserChromeDirectory = App_DirectoryBase + 40
|
|
App_FileBase = App_DirectoryBase + 1000
|
|
App_PreferencesFile30 = App_FileBase + 1
|
|
App_PreferencesFile40 = App_FileBase + 2
|
|
App_PreferencesFile50 = App_FileBase + 3
|
|
App_BookmarksFile30 = App_FileBase + 10
|
|
App_BookmarksFile40 = App_FileBase + 11
|
|
App_BookmarksFile50 = App_FileBase + 12
|
|
App_Registry40 = App_FileBase + 20
|
|
App_Registry50 = App_FileBase + 21
|
|
App_LocalStore50 = App_FileBase + 30
|
|
App_History50 = App_FileBase + 40
|
|
App_MailDirectory50 = App_FileBase + 50
|
|
App_ImapMailDirectory50 = App_FileBase + 60
|
|
App_NewsDirectory50 = App_FileBase + 70
|
|
App_MessengerFolderCache50 = App_FileBase + 80
|
|
App_UsersPanels50 = App_FileBase + 90
|
|
App_SearchFile50 = App_FileBase + 100
|
|
App_SearchDirectory50 = App_FileBase + 101
|
|
|
|
# From SpecialSystemDirectory.h
|
|
OS_DriveDirectory = 1
|
|
OS_TemporaryDirectory = 2
|
|
OS_CurrentProcessDirectory= 3
|
|
OS_CurrentWorkingDirectory= 4
|
|
|
|
XPCOM_CurrentProcessComponentDirectory= 5
|
|
XPCOM_CurrentProcessComponentRegistry= 6
|
|
|
|
Moz_BinDirectory = 10
|
|
|
|
Mac_SystemDirectory = 101
|
|
Mac_DesktopDirectory = 102
|
|
Mac_TrashDirectory = 103
|
|
Mac_StartupDirectory = 104
|
|
Mac_ShutdownDirectory = 105
|
|
Mac_AppleMenuDirectory = 106
|
|
Mac_ControlPanelDirectory = 107
|
|
Mac_ExtensionDirectory = 108
|
|
Mac_FontsDirectory = 109
|
|
Mac_PreferencesDirectory = 110
|
|
Mac_DocumentsDirectory = 111
|
|
Mac_InternetSearchDirectory = 112
|
|
|
|
Win_SystemDirectory = 201
|
|
Win_WindowsDirectory = 202
|
|
|
|
Win_HomeDirectory = 203
|
|
Win_Desktop = 204
|
|
Win_Programs = 205
|
|
Win_Controls = 206
|
|
Win_Printers = 207
|
|
Win_Personal = 208
|
|
Win_Favorites = 209
|
|
Win_Startup = 210
|
|
Win_Recent = 211
|
|
Win_Sendto = 212
|
|
Win_Bitbucket = 213
|
|
Win_Startmenu = 214
|
|
Win_Desktopdirectory = 215
|
|
Win_Drives = 216
|
|
Win_Network = 217
|
|
Win_Nethood = 218
|
|
Win_Fonts = 219
|
|
Win_Templates = 220
|
|
Win_Common_Startmenu = 221
|
|
Win_Common_Programs = 222
|
|
Win_Common_Startup = 223
|
|
Win_Common_Desktopdirectory = 224
|
|
Win_Appdata = 225
|
|
Win_Printhood = 226
|
|
|
|
Unix_LocalDirectory = 301
|
|
Unix_LibDirectory = 302
|
|
Unix_HomeDirectory = 303
|
|
|
|
BeOS_SettingsDirectory = 401
|
|
BeOS_HomeDirectory = 402
|
|
BeOS_DesktopDirectory = 403
|
|
BeOS_SystemDirectory = 404
|
|
|
|
OS2_SystemDirectory = 501
|
|
|
|
# Type/Variant related constants.
|
|
TD_INT8 = 0
|
|
TD_INT16 = 1
|
|
TD_INT32 = 2
|
|
TD_INT64 = 3
|
|
TD_UINT8 = 4
|
|
TD_UINT16 = 5
|
|
TD_UINT32 = 6
|
|
TD_UINT64 = 7
|
|
TD_FLOAT = 8
|
|
TD_DOUBLE = 9
|
|
TD_BOOL = 10
|
|
TD_CHAR = 11
|
|
TD_WCHAR = 12
|
|
TD_VOID = 13
|
|
TD_PNSIID = 14
|
|
TD_DOMSTRING = 15
|
|
TD_PSTRING = 16
|
|
TD_PWSTRING = 17
|
|
TD_INTERFACE_TYPE = 18
|
|
TD_INTERFACE_IS_TYPE = 19
|
|
TD_ARRAY = 20
|
|
TD_PSTRING_SIZE_IS = 21
|
|
TD_PWSTRING_SIZE_IS = 22
|
|
TD_UTF8STRING = 23
|
|
TD_CSTRING = 24
|
|
TD_ASTRING = 25
|
|
|
|
# From xpt_struct.h
|
|
XPT_TDP_POINTER = 0x80
|
|
XPT_TDP_UNIQUE_POINTER = 0x40
|
|
XPT_TDP_REFERENCE = 0x20
|
|
XPT_TDP_FLAGMASK = 0xe0
|
|
XPT_TDP_TAGMASK = (~XPT_TDP_FLAGMASK)
|
|
def XPT_TDP_TAG(tdp): return (tdp & XPT_TDP_TAGMASK)
|
|
|
|
def XPT_TDP_IS_POINTER(flags): return (flags & XPT_TDP_POINTER)
|
|
def XPT_TDP_IS_UNIQUE_POINTER(flags): return (flags & XPT_TDP_UNIQUE_POINTER)
|
|
def XPT_TDP_IS_REFERENCE(flags): return (flags & XPT_TDP_REFERENCE)
|
|
|
|
XPT_ID_SCRIPTABLE = 0x80
|
|
XPT_ID_FLAGMASK = 0x80
|
|
XPT_ID_TAGMASK = ~XPT_ID_FLAGMASK
|
|
def XPT_ID_TAG(id): return id & XPT_ID_TAGMASK
|
|
|
|
def XPT_ID_IS_SCRIPTABLE(flags): return flags & XPT_ID_SCRIPTABLE
|
|
|
|
XPT_PD_IN = 0x80
|
|
XPT_PD_OUT = 0x40
|
|
XPT_PD_RETVAL = 0x20
|
|
XPT_PD_SHARED = 0x10
|
|
XPT_PD_DIPPER = 0x08
|
|
XPT_PD_FLAGMASK = 0xf0
|
|
|
|
def XPT_PD_IS_IN(flags): return (flags & XPT_PD_IN)
|
|
def XPT_PD_IS_OUT(flags): return (flags & XPT_PD_OUT)
|
|
def XPT_PD_IS_RETVAL(flags): return (flags & XPT_PD_RETVAL)
|
|
def XPT_PD_IS_SHARED(flags): return (flags & XPT_PD_SHARED)
|
|
def XPT_PD_IS_DIPPER(flags): return (flags & XPT_PD_DIPPER)
|
|
|
|
XPT_MD_GETTER = 0x80
|
|
XPT_MD_SETTER = 0x40
|
|
XPT_MD_NOTXPCOM = 0x20
|
|
XPT_MD_CTOR = 0x10
|
|
XPT_MD_HIDDEN = 0x08
|
|
XPT_MD_FLAGMASK = 0xf8
|
|
|
|
def XPT_MD_IS_GETTER(flags): return (flags & XPT_MD_GETTER)
|
|
def XPT_MD_IS_SETTER(flags): return (flags & XPT_MD_SETTER)
|
|
def XPT_MD_IS_NOTXPCOM(flags): return (flags & XPT_MD_NOTXPCOM)
|
|
def XPT_MD_IS_CTOR(flags): return (flags & XPT_MD_CTOR)
|
|
def XPT_MD_IS_HIDDEN(flags): return (flags & XPT_MD_HIDDEN)
|
|
|
|
# From xptinfo.h
|
|
|
|
T_I8 = TD_INT8
|
|
T_I16 = TD_INT16
|
|
T_I32 = TD_INT32
|
|
T_I64 = TD_INT64
|
|
T_U8 = TD_UINT8
|
|
T_U16 = TD_UINT16
|
|
T_U32 = TD_UINT32
|
|
T_U64 = TD_UINT64
|
|
T_FLOAT = TD_FLOAT
|
|
T_DOUBLE = TD_DOUBLE
|
|
T_BOOL = TD_BOOL
|
|
T_CHAR = TD_CHAR
|
|
T_WCHAR = TD_WCHAR
|
|
T_VOID = TD_VOID
|
|
T_IID = TD_PNSIID
|
|
T_DOMSTRING = TD_DOMSTRING
|
|
T_CHAR_STR = TD_PSTRING
|
|
T_WCHAR_STR = TD_PWSTRING
|
|
T_INTERFACE = TD_INTERFACE_TYPE
|
|
T_INTERFACE_IS = TD_INTERFACE_IS_TYPE
|
|
T_ARRAY = TD_ARRAY
|
|
T_PSTRING_SIZE_IS = TD_PSTRING_SIZE_IS
|
|
T_PWSTRING_SIZE_IS = TD_PWSTRING_SIZE_IS
|
|
T_UTF8STRING = TD_UTF8STRING
|
|
T_CSTRING = TD_CSTRING
|
|
T_ASTRING = TD_ASTRING
|
|
|
|
# from nsIVariant
|
|
VTYPE_INT8 = 0
|
|
VTYPE_INT16 = 1
|
|
VTYPE_INT32 = 2
|
|
VTYPE_INT64 = 3
|
|
VTYPE_UINT8 = 4
|
|
VTYPE_UINT16 = 5
|
|
VTYPE_UINT32 = 6
|
|
VTYPE_UINT64 = 7
|
|
VTYPE_FLOAT = 8
|
|
VTYPE_DOUBLE = 9
|
|
VTYPE_BOOL = 10
|
|
VTYPE_CHAR = 11
|
|
VTYPE_WCHAR = 12
|
|
VTYPE_VOID = 13
|
|
VTYPE_ID = 14
|
|
VTYPE_DOMSTRING = 15
|
|
VTYPE_CHAR_STR = 16
|
|
VTYPE_WCHAR_STR = 17
|
|
VTYPE_INTERFACE = 18
|
|
VTYPE_INTERFACE_IS = 19
|
|
VTYPE_ARRAY = 20
|
|
VTYPE_STRING_SIZE_IS = 21
|
|
VTYPE_WSTRING_SIZE_IS = 22
|
|
VTYPE_UTF8STRING = 23
|
|
VTYPE_CSTRING = 24
|
|
VTYPE_ASTRING = 25
|
|
VTYPE_EMPTY_ARRAY = 254
|
|
VTYPE_EMPTY = 255
|