1 : //==============================================================================
2 : // File <$/src/cpp/prod/boot/client/client_naming.cpp>
3 : // This file is part of YaOrb : Yet Another Object Request Broker,
4 : // Copyright (c) 2000-2003, Marc Alff.
5 : //
6 : // This program is free software; you can redistribute it and/or
7 : // modify it under the terms of the GNU General Public License
8 : // as published by the Free Software Foundation; either version 2
9 : // of the License, or (at your option) any later version.
10 : //
11 : // This program is distributed in the hope that it will be useful,
12 : // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : // GNU General Public License for more details.
15 : //
16 : // You should have received a copy of the GNU General Public License
17 : // along with this program; if not, write to the Free Software
18 : // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 : //
20 : //==============================================================================
21 :
22 : #include <yaorb/CORBA.h>
23 : #include <yaorb/YAORB.h>
24 : #include "src/cpp/prod/boot/boot.h"
25 : #include "src/cpp/prod/CORBA/YAOrb.h"
26 :
27 : /*
28 : ** Prefix
29 : ** Byte Order
30 : ** Encapsulation :
31 : ** - length
32 : ** - byte order
33 : ** - content :
34 : ** - iop::ior :
35 : ** - typeid :
36 : ** - string length
37 : ** - string content
38 : ** - profiles :
39 : ** - number of profiles
40 : ** - array of profiles
41 : ** - profile tag
42 : ** - profile encapsulation
43 : ** - length
44 : ** - byte order
45 : ** - content
46 : */
47 :
48 : const char* naming_hard_ref =
49 : "IDL:" // Prefix
50 : "00" // [00] Byte order = BE
51 : "FFFFFF" // Padding
52 : "00000098" // [04] ??d : encapsulation length
53 : "00" // [08] encapsulation byte order = BE
54 : "FFFFFF" // Padding
55 : "0000000D" // [0C] "NamingContext" length : 13d
56 : "4e616d69" // [10] "Nami"
57 : "6e67436f" // [14] "ngCo"
58 : "6e746578" // [18] "ntex"
59 : "74" // [1C] "t"
60 : "FFFFFF" // Padding
61 : "00000001" // [20] 1 profile
62 : "00000000" // [24] profile tag : TAG_INTERNET_IOP
63 : "00000050" // [28] 80d : encapsulation length
64 : "00" // [2C] encapsulation byte order = BE
65 : "01" // IIOP 1.2
66 : "02" //
67 : "FF" // Padding
68 : "00000004" // [30] "HOST" length : 4d
69 : "484F5354" // [34] "HOST"
70 : "04B0" // [38] port 1200
71 : "FFFF" // Padding
72 : "00000038" // [3C] 56d : encapsulation length
73 : "00" // [40] encapsulation byte order = BE
74 : "4D6172" // key magic ('M' 'a' 'r'
75 : "63" // [44] key magic 'c')
76 : "FFFFFF" // Padding
77 : "0000000D" // [4C] "NamingContext" length : 13d
78 : "4e616d69" // [50] "Nami"
79 : "6e67436f" // [54] "ngCo"
80 : "6e746578" // [58] "ntex"
81 : "74" // [6C] "t"
82 : "FFFFFF" // Padding
83 : "0000000A" // [70] "RootPOA/NC" length : 10d
84 : "526F6F74" // [74] "Root"
85 : "504F412F" // [78] "POA/"
86 : "4E43" // [7C] "NC"
87 : "FFFF" // Padding
88 : "00000004" // [80] ObjectId length : 4d
89 : "11223344" // [84] ObjectId
90 :
91 : "0000000000000000" // [88]
92 : "0000000000000000"
93 : "0000000000000000"
94 : "0000000000000000"
95 : "0000000000000000"
96 : "0000000000000000"
97 : "0000000000000000"
98 : "0000000000000000"
99 : "0000000000000000"
100 : "0000000000000000"
101 : "0000000000000000"
102 : "0000000000000000"
103 : "0000000000000000"
104 : "0000000000000000"
105 : "0000000000000000"
106 : "0000000000000000"
107 : "0000000000000000"
108 : "0000000000000000"
109 : "0000000000000000"
110 : "0000000000000000"
111 : "0000000000000000"
112 : "0000000000000000"
113 : "0000000000000000"
114 : "0000000000000000"
115 : "0000000000000000"
116 : "0000000000000000"
117 : "0000000000000000"
118 : "0000000000000000"
119 : "0000000000000000"
120 : ;
121 :
122 4 : CORBA::Object_ptr FindNamingService(YAOrb* orb)
123 : {
124 4 : return orb->stringToObject(naming_hard_ref) ;
125 : }
126 :
|