Lisp HUG Maillist Archive

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


Updated at: 2020-12-10 08:51 UTC