0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #include <stdio.h>
0035 #include <stdlib.h>
0036 #include <ndebug.h>
0037 #include <atmi.h>
0038 #include <ndrstandard.h>
0039 #include <ubf.h>
0040 #include <test.fd.h>
0041 #include <string.h>
0042
0043 void TEST4_2ND (TPSVCINFO *p_svc)
0044 {
0045 int ret=EXSUCCEED;
0046
0047 static double d = 11.66;
0048
0049 UBFH *p_ub = (UBFH *)p_svc->data;
0050
0051 NDRX_LOG(log_debug, "TESTSVFN got call");
0052
0053
0054 Bprint(p_ub);
0055 if (NULL==(p_ub = (UBFH *)tprealloc((char *)p_ub, 4096)))
0056 {
0057 ret=EXFAIL;
0058 goto out;
0059 }
0060
0061 d+=1;
0062
0063 if (EXFAIL==Badd(p_ub, T_DOUBLE_2_FLD, (char *)&d, 0))
0064 {
0065 ret=EXFAIL;
0066 goto out;
0067 }
0068
0069 out:
0070 tpreturn( ret==EXSUCCEED?TPSUCCESS:TPFAIL,
0071 0L,
0072 (char *)p_ub,
0073 0L,
0074 0L);
0075 }
0076
0077
0078
0079
0080 int NDRX_INTEGRA(tpsvrinit)(int argc, char **argv)
0081 {
0082 int ret=EXSUCCEED;
0083 TPEVCTL evctl;
0084
0085 NDRX_LOG(log_debug, "tpsvrinit called");
0086 memset(&evctl, 0, sizeof(evctl));
0087
0088 if (EXSUCCEED!=tpadvertise("TEST4_2ND", TEST4_2ND))
0089 {
0090 NDRX_LOG(log_error, "Failed to initialize TEST2_2ND (first)!");
0091 ret=EXFAIL;
0092 goto out;
0093 }
0094 else if (EXSUCCEED!=tpadvertise("TEST4_2ND_AL", TEST4_2ND))
0095 {
0096 NDRX_LOG(log_error, "Failed to initialize TEST4_2ND_AL (alias)!");
0097 ret=EXFAIL;
0098 goto out;
0099 }
0100
0101
0102 NDRX_STRCPY_SAFE(evctl.name1, "TEST4_2ND");
0103 evctl.flags|=TPEVSERVICE;
0104
0105 if (EXFAIL==tpsubscribe("EV..TEST", "1==1 && T_DOUBLE_FLD==5", &evctl, 0L))
0106 {
0107 NDRX_LOG(log_error, "Failed to subscribe TEST4_1ST "
0108 "to EV..TEST event failed");
0109 ret=EXFAIL;
0110 }
0111
0112 out:
0113 return ret;
0114 }
0115
0116
0117
0118
0119 void NDRX_INTEGRA(tpsvrdone)(void)
0120 {
0121 NDRX_LOG(log_debug, "tpsvrdone called");
0122 }
0123
0124