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 Jovanovicvoid 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