亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? nslist.cpp

?? TAO學(xué)習(xí)工具
?? CPP
字號(hào):

//=============================================================================
/**
 *  @file    nslist.cpp
 *
 *  $Id: nslist.cpp,v 1.1.1.4.2.1 2005/02/07 16:21:16 chad Exp $
 *
 *  Naming Service listing utility
 *
 *
 *  @author  Thomas Lockhart, NASA/JPL <Thomas.Lockhart@jpl.nasa.gov>
 *  @date 1999-06-03
 */
//=============================================================================


#include "ace/SString.h"
#include "orbsvcs/CosNamingC.h"
#include "tao/Endpoint.h"
#include "tao/Profile.h"
#include "tao/Stub.h"
#include "tao/ORB_Constants.h"
#include "ace/Log_Msg.h"
#include "ace/OS_NS_stdio.h"
#include "ace/Argv_Type_Converter.h"

CORBA::ORB_var orb;
int showIOR = 0;
int showNSonly = 0;
int showCtxIOR = 0;

static void list_context (CosNaming::NamingContext_ptr nc,
                          int level
                          ACE_ENV_ARG_DECL);

static void
get_tag_name (CORBA::ULong tag, ACE_CString& tag_string)
{
  if (tag == IOP::TAG_INTERNET_IOP)
      tag_string = "IIOP";
  else if (tag == TAO_TAG_UIOP_PROFILE)
      tag_string = "UIOP";
  else if (tag == TAO_TAG_SHMEM_PROFILE)
      tag_string = "SHMEM";
#ifdef TAO_TAG_DIOP_PROFILE
  else if (tag == TAO_TAG_DIOP_PROFILE)
      tag_string = "GIOP over UDP";
#endif /* TAO_TAG_DIOP_PROFILE */
  else
      tag_string = "Unknown tag: " + tag;
}


static void
display_endpoint_info (CORBA::Object_ptr obj)
{
  if (CORBA::is_nil (obj))
    {
      ACE_DEBUG ((LM_DEBUG, "Nil\n"));
      return;
    }

  TAO_Stub *stub = obj->_stubobj ();
  if (!stub)
    {
      ACE_DEBUG ((LM_DEBUG, "Invalid stub\n"));
      return;
    }

  TAO_Profile* profile = stub->profile_in_use ();
  if (!profile)
    {
      ACE_DEBUG ((LM_DEBUG, "Invalid profile\n"));
      return;
    }


  TAO_Endpoint* endpoint = profile->endpoint ();
  if (!endpoint)
    {
      ACE_DEBUG ((LM_DEBUG, "Invalid profile\n"));
      return;
    }

  CORBA::ULong tag = endpoint->tag ();
  ACE_CString tag_name;
  get_tag_name (tag, tag_name);

  char buf[255];
  if (endpoint->addr_to_string (buf, 255) < 0)
    {
      ACE_DEBUG ((LM_DEBUG, "Could not put endpoint address in string.\n"));
      return;
    }

  ACE_DEBUG ((LM_DEBUG,
              "Protocol: %s,   Endpoint: %s\n",
              tag_name.c_str(),
              buf));
}

// Display NS entries from a finite list.

static void
show_chunk (CosNaming::NamingContext_ptr nc,
            const CosNaming::BindingList &bl,
            int level
            ACE_ENV_ARG_DECL)
{
  for (CORBA::ULong i = 0;
       i < bl.length ();
       i++)
    {
      ACE_DEBUG ((LM_DEBUG,
                  "%*s%s",
                  2 * level,
                  "",
                  bl[i].binding_name[0].id.in ()));

      if (ACE_OS::strlen (bl[i].binding_name[0].kind) > 0)
        ACE_DEBUG ((LM_DEBUG,
                    "(%s)",
                    bl[i].binding_name[0].kind.in ()));

      CosNaming::Name Name;
      Name.length (1);
      Name[0].id =
        CORBA::string_dup (bl[i].binding_name[0].id);
      Name[0].kind =
        CORBA::string_dup (bl[i].binding_name[0].kind);

      CORBA::Object_var obj = nc->resolve (Name ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;

      // If this is a context node, follow it down to the next
      // level...
      if (bl[i].binding_type == CosNaming::ncontext)
        {
          if (showCtxIOR)
            {
              CORBA::String_var str =
                orb->object_to_string (obj.in ()
                                       ACE_ENV_ARG_PARAMETER);
              ACE_CHECK;
              ACE_DEBUG ((LM_DEBUG,
                          ": naming context : <%s>\n",
                          str.in ()));
            }
          else
            {
              ACE_DEBUG ((LM_DEBUG,
                            ": naming context\n"));

            }
          CosNaming::NamingContext_var xc =
            CosNaming::NamingContext::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
          ACE_CHECK;

          list_context (xc.in (), level + 1 ACE_ENV_ARG_PARAMETER);
          ACE_CHECK;
        }
      // Mark this node as a reference
      else
        {
          if (showIOR)
            {
              CORBA::String_var str =
                orb->object_to_string (obj.in ()
                                       ACE_ENV_ARG_PARAMETER);
              ACE_CHECK;
              ACE_DEBUG ((LM_DEBUG,
                          ": <%s>\n",
                          str.in ()));
            }
          else
            {
              ACE_DEBUG ((LM_DEBUG,
                          ": object reference:   "));
              display_endpoint_info (obj.in());
            }
        }
    }
}

static void
list_context (CosNaming::NamingContext_ptr nc,
              int level
              ACE_ENV_ARG_DECL)
{
  CosNaming::BindingIterator_var it;
  CosNaming::BindingList_var bl;
  const CORBA::ULong CHUNK = 100;

  nc->list (CHUNK, bl, it ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;

  show_chunk (nc, bl.in (), level ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;

  if (!CORBA::is_nil (it.in ()))
    {
      CORBA::Boolean more;

      do
        {
          more = it->next_n (CHUNK, bl);
          show_chunk (nc, bl.in (), level ACE_ENV_ARG_PARAMETER);
          ACE_CHECK;
        }
      while (more);

      it->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_CHECK;
    }
}

int
ACE_TMAIN (int argcw, ACE_TCHAR *argvw[])
{
  showIOR = 0;
  showNSonly = 0;

  ACE_DECLARE_NEW_CORBA_ENV;
  ACE_TRY
    {
      ACE_Argv_Type_Converter argcon (argcw, argvw);
      orb = CORBA::ORB_init (argcon.get_argc (), argcon.get_ASCII_argv (),
                             "" ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      int argc = argcon.get_argc ();
      ACE_TCHAR** argv = argcon.get_TCHAR_argv ();

      ACE_TCHAR *pname = argv[0];

      while (argc > 0)
        {
          if (ACE_OS::strcmp(*argv, ACE_TEXT ("--ior")) == 0)
            {
              if (showNSonly)
                {
                  ACE_DEBUG ((LM_DEBUG,
                              "Error: --nsior and --ior are "
                              "both specified\n"));
                  return 1;
                }
              showIOR = 1;
            }
          else if (ACE_OS::strcmp (*argv, ACE_TEXT ("--nsior")) == 0)
            {
              if (showIOR)
                {
                  ACE_DEBUG ((LM_DEBUG,
                              "Error: --nsior and --ior "
                              "are both specified\n"));
                  return 1;
                }
              showNSonly = 1;
            }
          else if (ACE_OS::strcmp (*argv, ACE_TEXT ("--ctxior")) == 0)
            {
              showCtxIOR = 1;
            }
          else if (ACE_OS::strncmp (*argv, ACE_TEXT ("--"), 2) == 0)
            {
              ACE_DEBUG ((LM_DEBUG, "Usage: %s [[ --ior ][ --ctxior ] | --nsior ]\n", pname));
              return 1;
            }
          argc--;
          argv++;
        }

      CORBA::Object_var obj =
        orb->resolve_initial_references ("NameService" ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      CosNaming::NamingContext_var root_nc =
        CosNaming::NamingContext::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      CORBA::String_var str =
        orb->object_to_string (root_nc.in ()
                               ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;

      if (CORBA::is_nil (obj.in ()) || CORBA::is_nil (root_nc.in ()))
        ACE_ERROR_RETURN ((LM_ERROR,
                           "Naming Service not found"),
                          -1);

      if (showNSonly)
        {
          // ACE_DEBUG ((LM_DEBUG, "%s", str.in ()));
          ACE_OS::printf ("%s", str.in());
        }
      else
        {
          if (showIOR)
            {
              ACE_DEBUG ((LM_DEBUG,
                          "Naming Service: <%s>\n---------\n",
                          str.in ()));
            }
          else
            {
              ACE_DEBUG ((LM_DEBUG,
                          "Naming Service:\n---------\n"));
            }

          list_context (root_nc.in (), 1 ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
                           "Exception in nslist");
      return -1;
    }
  ACE_ENDTRY;

  return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩高清在线观看| 日韩电影免费在线看| 日韩视频在线永久播放| 不卡视频在线观看| 国产在线精品免费| 亚洲大尺度视频在线观看| 久久看人人爽人人| 91精品国产综合久久精品性色| 成人国产精品免费网站| 国模套图日韩精品一区二区 | 风间由美一区二区av101| 亚洲国产视频一区二区| 国产精品久久久久影院色老大| 欧美一区二区视频在线观看2020| 成人av在线播放网址| www.欧美.com| av影院午夜一区| 成人免费三级在线| gogogo免费视频观看亚洲一| 国产精品自拍在线| 国产精品一二三区在线| 国产一区二区三区久久悠悠色av| 日韩 欧美一区二区三区| 日韩精品一二区| 久久精品99国产国产精| 久久国产欧美日韩精品| 美日韩一区二区三区| 狠狠色综合播放一区二区| 免费观看一级欧美片| 紧缚捆绑精品一区二区| 国产一区二区三区黄视频| 国产精品888| 色综合天天综合在线视频| 91国偷自产一区二区开放时间| 欧美伊人精品成人久久综合97| 在线免费观看视频一区| 日韩视频永久免费| 久久久久久久国产精品影院| 日本一区二区三级电影在线观看| 中文一区在线播放| 午夜亚洲福利老司机| 日韩电影在线观看电影| 国产成人在线观看免费网站| 91极品视觉盛宴| 久久综合色天天久久综合图片| 国产精品毛片a∨一区二区三区| 亚洲人成精品久久久久| 日本伊人色综合网| 91女厕偷拍女厕偷拍高清| 日韩美女视频一区二区在线观看| 国产精品区一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 日韩和欧美一区二区| 99综合影院在线| 欧美变态口味重另类| 亚洲一区在线视频| 懂色av中文字幕一区二区三区| 欧美日韩免费视频| 国产精品久久综合| 国产麻豆精品视频| 日韩欧美一级二级三级久久久| 亚洲综合激情小说| 波多野结衣中文字幕一区| 亚洲精品一区二区三区精华液| 亚洲在线视频免费观看| av电影天堂一区二区在线观看| 久久综合中文字幕| 日本亚洲电影天堂| 91精品国产入口| 日本亚洲三级在线| 欧美成人激情免费网| 久久国产夜色精品鲁鲁99| 日韩欧美电影一二三| 蜜臀精品久久久久久蜜臀| 精品黑人一区二区三区久久| 日日噜噜夜夜狠狠视频欧美人| 欧美日韩一二三| 丝袜亚洲另类欧美综合| 日韩一区二区三| 久久国产精品第一页| 欧美大片在线观看| 国产成人午夜精品影院观看视频 | 国产精品全国免费观看高清 | 26uuu亚洲| 99久久综合狠狠综合久久| 亚洲日本在线观看| 国产不卡视频在线播放| 亚洲女同ⅹxx女同tv| 欧美日韩精品一区二区天天拍小说| 午夜久久电影网| 久久精品一区二区三区不卡| 丁香桃色午夜亚洲一区二区三区| 亚洲天堂福利av| 欧美一区二区在线免费观看| 国产美女在线观看一区| 亚洲精品中文在线观看| 精品福利av导航| 一道本成人在线| 精品在线亚洲视频| 亚洲精品老司机| 久久久久久久一区| 欧美日韩在线一区二区| 国产不卡在线视频| 日本va欧美va瓶| 亚洲精品第一国产综合野| www日韩大片| 91精品蜜臀在线一区尤物| 91在线观看成人| 国产精品亚洲成人| 麻豆精品新av中文字幕| 亚洲高清不卡在线观看| 日韩码欧中文字| 国产午夜精品一区二区三区四区| 91精品在线观看入口| 日本福利一区二区| 粉嫩一区二区三区在线看| 青青草国产成人99久久| 亚洲国产欧美在线人成| 一区二区三区日本| 亚洲精选一二三| 一区二区三区久久久| 亚洲黄网站在线观看| 亚洲激情欧美激情| 亚洲乱码一区二区三区在线观看| 日韩一区日韩二区| 成人免费在线观看入口| 亚洲欧美电影院| 亚洲午夜电影在线观看| 亚洲一二三区视频在线观看| 亚洲色图清纯唯美| 一区二区三区蜜桃| 五月天亚洲婷婷| 久久成人av少妇免费| 国产成人精品免费| 99久久婷婷国产综合精品| 欧美午夜宅男影院| 日韩视频中午一区| 国产欧美在线观看一区| 亚洲三级免费观看| 免费人成在线不卡| 成人午夜免费av| 欧美伊人久久大香线蕉综合69| 欧美一区二视频| 久久美女高清视频| 亚洲黄色片在线观看| 蜜桃精品在线观看| 91视频国产资源| 久久综合色播五月| 亚洲午夜在线电影| 国产成a人亚洲精| 欧美三级一区二区| 国产午夜精品久久| 日本不卡一区二区三区| 风流少妇一区二区| 欧美va亚洲va香蕉在线| 亚洲国产精品久久久男人的天堂| 国产精品主播直播| 欧美一区二视频| 午夜精品免费在线观看| 男女视频一区二区| 91小视频免费观看| 欧美白人最猛性xxxxx69交| 国产精品久久久久久久久果冻传媒 | 欧美一区二区三区在线视频| 精品三级在线观看| 亚洲午夜免费视频| 99这里只有久久精品视频| 色综合色综合色综合 | 亚洲国产高清aⅴ视频| 亚洲一区二区黄色| 成人av网站在线观看免费| 777精品伊人久久久久大香线蕉| 中文字幕乱码一区二区免费| 偷偷要91色婷婷| 91福利视频久久久久| 国产精品毛片高清在线完整版| 国产一区二三区| 精品理论电影在线观看| 中文字幕一区二区三区蜜月| 国产一区二三区好的| 欧美一卡2卡3卡4卡| 亚洲国产精品精华液网站| 日本黄色一区二区| 国产精品亲子乱子伦xxxx裸| 国产一区二区不卡| 久久九九影视网| 成人av资源网站| 成人免费在线观看入口| 经典三级视频一区| 精品国产凹凸成av人导航| 亚洲在线视频网站| 91麻豆精品国产自产在线| 午夜精品影院在线观看| 欧美一区二区三级| 免费在线观看视频一区| 欧美一区二区三区免费| 韩国精品一区二区| 国产精品白丝在线| 欧美老女人第四色| 亚洲大片精品永久免费|