INTEGRATION: CWS pyunofixes2 (1.3.40); FILE MERGED

2006/01/07 21:36:36 jbu 1.3.40.2: RESYNC: (1.3-1.4); FILE MERGED
2006/01/07 20:13:41 jbu 1.3.40.1: #i57379# added pyuno current context support
This commit is contained in:
Oliver Bolte
2006-03-22 09:53:27 +00:00
parent f6e480a312
commit 265025d520

View File

@@ -4,9 +4,9 @@
# #
# $RCSfile: unohelper.py,v $ # $RCSfile: unohelper.py,v $
# #
# $Revision: 1.4 $ # $Revision: 1.5 $
# #
# last change: $Author: rt $ $Date: 2005-09-08 16:54:48 $ # last change: $Author: obo $ $Date: 2006-03-22 10:53:27 $
# #
# The Contents of this file are made available subject to # The Contents of this file are made available subject to
# the terms of GNU Lesser General Public License Version 2.1. # the terms of GNU Lesser General Public License Version 2.1.
@@ -38,7 +38,7 @@ import os
import sys import sys
from com.sun.star.lang import XTypeProvider, XSingleComponentFactory, XServiceInfo from com.sun.star.lang import XTypeProvider, XSingleComponentFactory, XServiceInfo
from com.sun.star.uno import RuntimeException from com.sun.star.uno import RuntimeException, XCurrentContext
from com.sun.star.beans.MethodConcept import ALL as METHOD_CONCEPT_ALL from com.sun.star.beans.MethodConcept import ALL as METHOD_CONCEPT_ALL
from com.sun.star.beans.PropertyConcept import ALL as PROPERTY_CONCEPT_ALL from com.sun.star.beans.PropertyConcept import ALL as PROPERTY_CONCEPT_ALL
@@ -259,7 +259,24 @@ class Base(XTypeProvider):
return _unohelper_getHandle( self )[0] return _unohelper_getHandle( self )[0]
def getImplementationId(self): def getImplementationId(self):
return _unohelper_getHandle( self )[1] return _unohelper_getHandle( self )[1]
class CurrentContext(XCurrentContext, Base ):
"""a current context implementation, which first does a lookup in the given
hashmap and if the key cannot be found, it delegates to the predecessor
if available
"""
def __init__( self, oldContext, hashMap ):
self.hashMap = hashMap
self.oldContext = oldContext
def getValueByName( self, name ):
if name in self.hashMap:
return self.hashMap[name]
elif self.oldContext != None:
return self.oldContext.getValueByName( name )
else:
return None
# ------------------------------------------------- # -------------------------------------------------
# implementation details # implementation details
# ------------------------------------------------- # -------------------------------------------------