1 #define MICO_CONF_DYNANY
2 #include <CORBA-SMALL.h>
8 DynamicAny::DynAnyFactory_var fac;
12 DynamicAny::DynAny_var tmp =
13 fac->create_dyn_any_from_type_code (_tc_Union);
14 DynamicAny::DynUnion_var da =
15 DynamicAny::DynUnion::_narrow (tmp);
17 DynamicAny::DynEnum_var disc = DynamicAny::DynEnum::_narrow (
18 da->get_discriminator());
19 assert (!CORBA::is_nil (disc));
21 da->set_to_default_member ();
22 assert (disc->get_as_ulong() == 2);
24 CORBA::Boolean r = da->seek (1);
26 DynamicAny::DynAny_var value = da->current_component();
27 value->insert_short (10);
31 disc->set_as_string ("el2");
32 da->insert_boolean (TRUE);
39 DynamicAny::DynAny_var tmp =
40 fac->create_dyn_any_from_type_code (_tc_Sequence);
41 DynamicAny::DynSequence_var da =
42 DynamicAny::DynSequence::_narrow (tmp);
46 for (int i = 0; i < 10; ++i) {
51 CORBA::AnySeq_var seq = da->get_elements();
53 for (int i = 0; i < 10; ++i) {
55 CORBA::Boolean r = (seq[MICO_ULong(i)] >>= s);
66 DynamicAny::DynAny_var tmp =
67 fac->create_dyn_any_from_type_code (_tc_Enum);
68 DynamicAny::DynEnum_var da =
69 DynamicAny::DynEnum::_narrow (tmp);
71 da->set_as_string ("el1");
72 assert (da->get_as_ulong() == 0);
75 CORBA::String_var str = da->get_as_string ();
76 assert (!strcmp (str, "el2"));
86 s.s = (const char *)"foobar";
89 DynamicAny::DynAny_var da = fac->create_dyn_any (a);
90 CORBA::Long l = da->get_long ();
93 CORBA::String_var str = da->get_string ();
94 assert (!strcmp (str, "foobar"));
96 CORBA::Any_var av = da->to_any ();
104 DynamicAny::DynAny_var da =
105 fac->create_dyn_any_from_type_code (CORBA::_tc_long);
106 da->insert_long (10);
108 CORBA::Long l = da->get_long();
114 int main (int argc, char *argv[])
116 // ORB initialization
117 orb = CORBA::ORB_init( argc, argv, "mico-local-orb" );
118 boa = orb->BOA_init (argc, argv, "mico-local-boa");
120 CORBA::Object_var obj =
121 orb->resolve_initial_references ("DynAnyFactory");
122 fac = DynamicAny::DynAnyFactory::_narrow (obj);