xref: /trunk/main/autodoc/source/udm/unittest/test.cxx (revision cf6516809c57e1bb0a940545cca99cdad54d4ce2)
1*11c03c6dSDamjan Jovanovic /**************************************************************
2*11c03c6dSDamjan Jovanovic  *
3*11c03c6dSDamjan Jovanovic  * Licensed to the Apache Software Foundation (ASF) under one
4*11c03c6dSDamjan Jovanovic  * or more contributor license agreements.  See the NOTICE file
5*11c03c6dSDamjan Jovanovic  * distributed with this work for additional information
6*11c03c6dSDamjan Jovanovic  * regarding copyright ownership.  The ASF licenses this file
7*11c03c6dSDamjan Jovanovic  * to you under the Apache License, Version 2.0 (the
8*11c03c6dSDamjan Jovanovic  * "License"); you may not use this file except in compliance
9*11c03c6dSDamjan Jovanovic  * with the License.  You may obtain a copy of the License at
10*11c03c6dSDamjan Jovanovic  *
11*11c03c6dSDamjan Jovanovic  *   http://www.apache.org/licenses/LICENSE-2.0
12*11c03c6dSDamjan Jovanovic  *
13*11c03c6dSDamjan Jovanovic  * Unless required by applicable law or agreed to in writing,
14*11c03c6dSDamjan Jovanovic  * software distributed under the License is distributed on an
15*11c03c6dSDamjan Jovanovic  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*11c03c6dSDamjan Jovanovic  * KIND, either express or implied.  See the License for the
17*11c03c6dSDamjan Jovanovic  * specific language governing permissions and limitations
18*11c03c6dSDamjan Jovanovic  * under the License.
19*11c03c6dSDamjan Jovanovic  *
20*11c03c6dSDamjan Jovanovic  *************************************************************/
21*11c03c6dSDamjan Jovanovic 
22*11c03c6dSDamjan Jovanovic 
23*11c03c6dSDamjan Jovanovic 
24*11c03c6dSDamjan Jovanovic #include <precomp.h>
25*11c03c6dSDamjan Jovanovic 
26*11c03c6dSDamjan Jovanovic 
27*11c03c6dSDamjan Jovanovic // NOT FULLY DEFINED SERVICES
28*11c03c6dSDamjan Jovanovic #include <udm/integer_i.hxx>
29*11c03c6dSDamjan Jovanovic #include <udm/string_i.hxx>
30*11c03c6dSDamjan Jovanovic 
31*11c03c6dSDamjan Jovanovic using namespace udm;
32*11c03c6dSDamjan Jovanovic 
33*11c03c6dSDamjan Jovanovic // TypeSystem      aTypeSys;
34*11c03c6dSDamjan Jovanovic 
35*11c03c6dSDamjan Jovanovic 
36*11c03c6dSDamjan Jovanovic class Function
37*11c03c6dSDamjan Jovanovic {
38*11c03c6dSDamjan Jovanovic   public:
39*11c03c6dSDamjan Jovanovic 
40*11c03c6dSDamjan Jovanovic     intt                nId;
41*11c03c6dSDamjan Jovanovic };
42*11c03c6dSDamjan Jovanovic 
43*11c03c6dSDamjan Jovanovic class Ctor : public Function
44*11c03c6dSDamjan Jovanovic {
45*11c03c6dSDamjan Jovanovic   public:
46*11c03c6dSDamjan Jovanovic 
47*11c03c6dSDamjan Jovanovic     csv::String         sClassName;
48*11c03c6dSDamjan Jovanovic };
49*11c03c6dSDamjan Jovanovic 
50*11c03c6dSDamjan Jovanovic class Method : public Function
51*11c03c6dSDamjan Jovanovic {
52*11c03c6dSDamjan Jovanovic   public:
53*11c03c6dSDamjan Jovanovic 
54*11c03c6dSDamjan Jovanovic     csv::String         sFunctionName;
55*11c03c6dSDamjan Jovanovic     std::vector< std::pair< intt, String > >
56*11c03c6dSDamjan Jovanovic                         aParameters;
57*11c03c6dSDamjan Jovanovic };
58*11c03c6dSDamjan Jovanovic 
59*11c03c6dSDamjan Jovanovic 
60*11c03c6dSDamjan Jovanovic class PrObj
61*11c03c6dSDamjan Jovanovic {
62*11c03c6dSDamjan Jovanovic   public:
63*11c03c6dSDamjan Jovanovic     intt                nId;
64*11c03c6dSDamjan Jovanovic     csv::String         sName;
65*11c03c6dSDamjan Jovanovic     std::vector< PrObj* >
66*11c03c6dSDamjan Jovanovic                         aMethods;
67*11c03c6dSDamjan Jovanovic     std::vector< PrObj* >
68*11c03c6dSDamjan Jovanovic                         aData;
69*11c03c6dSDamjan Jovanovic };
70*11c03c6dSDamjan Jovanovic 
71*11c03c6dSDamjan Jovanovic 
72*11c03c6dSDamjan Jovanovic 
73*11c03c6dSDamjan Jovanovic 
fx()74*11c03c6dSDamjan Jovanovic void fx()
75*11c03c6dSDamjan Jovanovic {
76*11c03c6dSDamjan Jovanovic     intt            n = 5;
77*11c03c6dSDamjan Jovanovic     Dyn<Integer_i>  px = new Integer_i(n);
78*11c03c6dSDamjan Jovanovic     Integer &       x = *px;
79*11c03c6dSDamjan Jovanovic 
80*11c03c6dSDamjan Jovanovic     csv::String     s;
81*11c03c6dSDamjan Jovanovic     Dyn<String_i>   ps = new String_i(s);
82*11c03c6dSDamjan Jovanovic     String &        xs = *ps;
83*11c03c6dSDamjan Jovanovic 
84*11c03c6dSDamjan Jovanovic     xs = "Hallo";
85*11c03c6dSDamjan Jovanovic 
86*11c03c6dSDamjan Jovanovic     int dev01 = 2;
87*11c03c6dSDamjan Jovanovic 
88*11c03c6dSDamjan Jovanovic     xs = csv::String("Haha");
89*11c03c6dSDamjan Jovanovic 
90*11c03c6dSDamjan Jovanovic     dev01 = 2;
91*11c03c6dSDamjan Jovanovic 
92*11c03c6dSDamjan Jovanovic     csv::String s2 = xs;
93*11c03c6dSDamjan Jovanovic 
94*11c03c6dSDamjan Jovanovic 
95*11c03c6dSDamjan Jovanovic     dev01 = 2;
96*11c03c6dSDamjan Jovanovic 
97*11c03c6dSDamjan Jovanovic //  const char * pc = xs;
98*11c03c6dSDamjan Jovanovic 
99*11c03c6dSDamjan Jovanovic 
100*11c03c6dSDamjan Jovanovic     intt a = x;
101*11c03c6dSDamjan Jovanovic     x = 15;
102*11c03c6dSDamjan Jovanovic 
103*11c03c6dSDamjan Jovanovic     Cout() << a << " " << x << Endl();  // Must be:   5 15
104*11c03c6dSDamjan Jovanovic }
105