home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.2)
-
- '''Manages a dictionary of CLSID strings to Python classes.
-
- Primary use of this module is to allow modules generated by
- makepy.py to share classes. @makepy@ automatically generates code
- which interacts with this module. You should never need to reference
- this module directly.
-
- This module only provides support for modules which have been previously
- been imported. The gencache module provides some support for loading modules
- on demand - once done, this module supports it...
-
- As an example, the MSACCESS.TLB type library makes reference to the
- CLSID of the Database object, as defined in DAO3032.DLL. This
- allows code using the MSAccess wrapper to natively use Databases.
-
- This obviously applies to all cooperating objects, not just DAO and
- Access.
- '''
- mapCLSIDToClass = { }
-
- def RegisterCLSID(clsid, pythonClass):
- '''Register a class that wraps a CLSID
- \t
- \tThis function allows a CLSID to be globally associated with a class.
- \tCertain module will automatically convert an IDispatch object to an
- \tinstance of the associated class.
- \t'''
- mapCLSIDToClass[str(clsid)] = pythonClass
-
-
- def RegisterCLSIDsFromDict(dict):
- """Register a dictionary of CLSID's and classes.
- \t
- \tThis module performs the same function as @RegisterCLSID@, but for
- \tan entire dictionary of associations.
- \t
- \tTypically called by makepy generated modules at import time.
- \t"""
-
- try:
- mapCLSIDToClass.update(dict)
- except AttributeError:
- for clsid, pythonClass in dict.items():
- mapCLSIDToClass[clsid] = pythonClass
-
-
-
-
- def GetClass(clsid):
- '''Given a CLSID, return the globally associated class.
- \t
- \tclsid -- a string CLSID representation to check.
- \t'''
- return mapCLSIDToClass[clsid]
-
-
- def HasClass(clsid):
- '''Determines if the CLSID has an associated class.
- \t
- \tclsid -- the string CLSID to check
- \t'''
- return mapCLSIDToClass.has_key(clsid)
-
-