RE: CORBA Reference API or using NameService
Here's some very old code we used at one time to contact the COS naming service. I don't remember much about it, and don't even know if it will help you. But, maybe it will trigger some ideas... Cheers, David ------------ (in-package :naming) (defun resolve-name-service () (let ((nc (op:narrow 'CosNaming:NamingContext (op:resolve_initial_references (orb:orb) "NameService")))) (assert (not (null nc)) nil "The COS Name Service couldn't be contacted.") nc)) (defun make-name-component (name) (list (COSNaming:NameComponent :id name :kind ""))) (defun make-name-list (name-list) (mapcar #'(lambda (name) (COSNaming:NameComponent :id name :kind "")) name-list)) (let ((default-contexts '("whatever"))) (defun resolve-context (names &optional (parent nil)) (let ((root (if (null parent) (resolve-name-service) parent))) (handler-case (op:resolve root names) (CosNaming:NamingContext/NotFound nil (op:bind_new_context root names))))) (defun ensure-default-contexts () (let ((parent (resolve-name-service))) (dolist (context default-contexts) (setf parent (resolve-context (make-name-component context) parent)))))) (defun resolve-name (names) (op:resolve (resolve-name-service) (make-name-list names))) (defun advertise-server (server-ref service-name context-names) (ensure-default-contexts) (op:rebind (resolve-context (make-name-list context-names)) (make-name-component service-name) server-ref)) -----Original Message----- From: John [mailto:john.benjamin.cassel@gmail.com] Sent: Friday, July 08, 2005 10:00 AM To: lisp-hug@lispworks.com Subject: CORBA Reference API or using NameService Hi all, The CORBA tutorial is great, but it only uses shared files. I need to use a name service, and I'd like a reference or API to all of the CORBA methods, or an example of a program that uses the name service. Thanks in advance, John, Riverglass Analytics