commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r5063 - trunk/gnue-appserver/src


From: jan
Subject: r5063 - trunk/gnue-appserver/src
Date: Mon, 2 Feb 2004 14:28:19 -0600 (CST)

Author: jan
Date: 2004-02-02 14:28:18 -0600 (Mon, 02 Feb 2004)
New Revision: 5063

Modified:
   trunk/gnue-appserver/src/geasInstance.py
Log:
add language interface functions (untested yet)


Modified: trunk/gnue-appserver/src/geasInstance.py
===================================================================
--- trunk/gnue-appserver/src/geasInstance.py    2004-02-02 19:20:22 UTC (rev 
5062)
+++ trunk/gnue-appserver/src/geasInstance.py    2004-02-02 20:28:18 UTC (rev 
5063)
@@ -25,7 +25,7 @@
 import mx.DateTime
 import mx.DateTime.ISO
 from gnue.common.logic.language.Base import loadLanguageEngine, 
LangIfRuntimeError
-from gnue.appserver.language import Object
+from gnue.appserver.language import Object, Session
 
 # =============================================================================
 # Instance class
@@ -272,6 +272,9 @@
                          self._classdef.fullName,
                          {"gnue_id": self._getValue ("gnue_id")})
 
+    # Create a session object which with the actual session id
+    sess = Session.Session (self._session.sm, self._session.id)
+
     # fetch the procedure definition
     proceduredef = self._classdef.procedures [procedurename]
 
@@ -284,12 +287,22 @@
       rtlist =  self._session.sm._langRuntimes
     
     cx=rtlist[language].createNewContext()
-    cx.bindObject('self', obj, Object.Object)
-    cx.bindFunction('request', self._list._session.request)
-    cx.bindFunction('fetch', self._list._session.fetch)
-    cx.bindFunction('load', self._list._session.load)
-    cx.bindFunction('store', self._list._session.store)
-    cx.bindFunction('call', self._list._session.call)
+    
+    # the object itself
+    cx.bindObject(  'self', obj, Object.Object)
+
+    # language interface, session functions
+    cx.bindFunction('find',           sess.find)
+    cx.bindFunction('setcontext',     sess.setcontext)
+    cx.bindFunction('new',            sess.new)
+
+    # direct access to RPC API func.
+    cx.bindFunction('direct_request', self._session.request)
+    cx.bindFunction('direct_fetch',   self._session.fetch)
+    cx.bindFunction('direct_load',    self._session.load)
+    cx.bindFunction('direct_store',   self._session.store)
+    cx.bindFunction('direct_call',    self._session.call)
+    
     try:
       method = cx.buildMethod(proceduredef.gnue_name, proceduredef.gnue_code)
       retcode = method(params)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]