1%% 2%% %CopyrightBegin% 3%% 4%% Copyright Ericsson AB 2004-2016. All Rights Reserved. 5%% 6%% Licensed under the Apache License, Version 2.0 (the "License"); 7%% you may not use this file except in compliance with the License. 8%% You may obtain a copy of the License at 9%% 10%% http://www.apache.org/licenses/LICENSE-2.0 11%% 12%% Unless required by applicable law or agreed to in writing, software 13%% distributed under the License is distributed on an "AS IS" BASIS, 14%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15%% See the License for the specific language governing permissions and 16%% limitations under the License. 17%% 18%% %CopyrightEnd% 19%% 20%% 21-module(m_i_impl). 22-include("m.hrl"). 23 24-export([init/1, terminate/2, void_test/1, long_test/2, ushort_test/2, 25 longlong_test/2, ulong_test/2, ulonglong_test/2, 26 double_test/2, char_test/2, wchar_test/2, octet_test/2, 27 bool_test/2, struct_test/2, struct2_test/2, seq1_test/2, 28 seq2_test/2, seq3_test/2, seq4_test/2, seq5_test/2, 29 array1_test/2, array2_test/2, enum_test/2, string1_test/2, 30 string2_test/2, string3_test/2, string4_test/2, pid_test/2, 31 port_test/2, ref_test/2, term_test/2, typedef_test/3, 32 inline_sequence_test/2, '_set_l'/2, '_get_l'/1, 33 term_struct_test/2, term_sequence_test/2, wstring1_test/2]). 34 35-define(PRINTDEBUG(Case), 36 io:format("erl_server: case: ~p~n" 37 "erl_server: location: ~p~n", [Case, [?FILE, ?LINE]])). 38-define(PRINTDEBUG2(Case, Msg), 39 io:format("erl_server: case: ~p~n" 40 "erl_server: Msg: ~p~n" 41 "erl_server: location: ~p~n", [Case, Msg, [?FILE, ?LINE]])). 42 43init(Env) -> 44 {ok, []}. 45 46terminate(F, R) -> 47 ok. 48 49'_get_l'(State) -> 50 ?PRINTDEBUG("_get_l"), 51 {reply, State, State}. 52void_test(State) -> 53 ?PRINTDEBUG("void_test"), 54 {reply, ok, State}. 55 56'_set_l'(State, V) -> 57 ?PRINTDEBUG2("_set_l", V), 58 {reply, ok, V}. 59ushort_test(State, V) -> 60 ?PRINTDEBUG2("ushort_test", V), 61 {reply, {V, V}, State}. 62long_test(State, V) -> 63 ?PRINTDEBUG2("long_test", V), 64 {reply, {V, V}, State}. 65longlong_test(State, V) -> 66 ?PRINTDEBUG2("longlong_test", V), 67 {reply, {V, V}, State}. 68ulong_test(State, V) -> 69 ?PRINTDEBUG2("ulong_test", V), 70 {reply, {V, V}, State}. 71ulonglong_test(State, V) -> 72 ?PRINTDEBUG2("ulonglong_test", V), 73 {reply, {V, V}, State}. 74double_test(State, V) -> 75 ?PRINTDEBUG2("double_test", V), 76 {reply, {V, V}, State}. 77char_test(State, V) -> 78 ?PRINTDEBUG2("char_test", V), 79 {reply, {V, V}, State}. 80wchar_test(State, V) -> 81 ?PRINTDEBUG2("wchar_test", V), 82 {reply, {V, V}, State}. 83octet_test(State, V) -> 84 ?PRINTDEBUG2("octet_test", V), 85 {reply, {V, V}, State}. 86bool_test(State, V) -> 87 ?PRINTDEBUG2("bool_test", V), 88 {reply, {V, V}, State}. 89 90struct_test(State, V) -> 91 ?PRINTDEBUG2("struct_test", V), 92 {reply, {V, V}, State}. 93struct2_test(State, V) -> 94 ?PRINTDEBUG2("struct2_test", V), 95 {reply, {V, V}, State}. 96seq1_test(State, V) -> 97 ?PRINTDEBUG2("seq1_test", V), 98 {reply, {V, V}, State}. 99seq2_test(State, V) -> 100 ?PRINTDEBUG2("seq2_test", V), 101 {reply, {V, V}, State}. 102seq3_test(State, V) -> 103 ?PRINTDEBUG2("seq3_test", V), 104 {reply, {V, V}, State}. 105seq4_test(State, V) -> 106 ?PRINTDEBUG2("seq4_test", V), 107 {reply, {V, V}, State}. 108seq5_test(State, V) -> 109 ?PRINTDEBUG2("seq5_test", V), 110 {reply, {V, V}, State}. 111array1_test(State, V) -> 112 ?PRINTDEBUG2("array1_test", V), 113 {reply, {V, V}, State}. 114array2_test(State, V) -> 115 ?PRINTDEBUG2("array2_test", V), 116 {reply, {V, V}, State}. 117enum_test(State, V) -> 118 ?PRINTDEBUG2("enum_test", V), 119 {reply, {V, V}, State}. 120string1_test(State, V) -> 121 ?PRINTDEBUG2("string1_test", V), 122 {reply, {V, V}, State}. 123string2_test(State, V) -> 124 ?PRINTDEBUG2("string2_test", V), 125 {reply, {V, V}, State}. 126string3_test(State, V) -> 127 ?PRINTDEBUG2("string3_test", V), 128 {reply, {V, V}, State}. 129string4_test(State, V) -> 130 ?PRINTDEBUG2("string4_test", V), 131 {reply, {V, V}, State}. 132pid_test(State, V) -> 133 ?PRINTDEBUG2("pid_test", V), 134 {reply, {V, V}, State}. 135port_test(State, V) -> 136 ?PRINTDEBUG2("port_test", binary_to_list(term_to_binary(V))), 137 {reply, {V, V}, State}. 138ref_test(State, V) -> 139 ?PRINTDEBUG2("ref_test", binary_to_list(term_to_binary(V))), 140 {reply, {V, V}, State}. 141term_test(State, V) -> 142 ?PRINTDEBUG2("term_test", V), 143 {reply, {V, V}, State}. 144typedef_test(State, A, B) -> 145 ?PRINTDEBUG2("typedef_test", [A,B]), 146 {reply, {4711, A, B}, State}. 147inline_sequence_test(State, V) -> 148 ?PRINTDEBUG2("inline_sequence_test", V), 149 {reply, {V, V}, State}. 150term_sequence_test(State, V) -> 151 ?PRINTDEBUG2("term_sequence_test", V), 152 {reply, {V, V}, State}. 153term_struct_test(State, V) -> 154 ?PRINTDEBUG2("term_struct_test", V), 155 {reply, {V, V}, State}. 156wstring1_test(State, V) -> 157 ?PRINTDEBUG2("wstring1_test", V), 158 {reply, {V, V}, State}. 159 160 161 162 163