1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
C
C File: HelloServer_Component_Impl.f
C Symbol: HelloServer.Component-v0.6
C Symbol Type: class
C Babel Version: 0.10.2
C Description: Server-side implementation for HelloServer.Component
C
C WARNING: Automatically generated; only changes within splicers preserved
C
C babel-version = 0.10.2
C
C
C Symbol "HelloServer.Component" (version 0.6)
C
C The component implements a StringProducerPort (which generates "Hello World");
C
C DO-NOT-DELETE splicer.begin(_miscellaneous_code_start)
C Insert extra code here...
C DO-NOT-DELETE splicer.end(_miscellaneous_code_start)
C
C Class constructor called when the class is created.
C
subroutine HelloServer_Component__ctor_fi(self)
implicit none
C in HelloServer.Component self
integer*8 self
C DO-NOT-DELETE splicer.begin(HelloServer.Component._ctor)
C Insert the implementation here...
C DO-NOT-DELETE splicer.end(HelloServer.Component._ctor)
end
C
C Class destructor called when the class is deleted.
C
subroutine HelloServer_Component__dtor_fi(self)
implicit none
C in HelloServer.Component self
integer*8 self
C DO-NOT-DELETE splicer.begin(HelloServer.Component._dtor)
C Insert the implementation here...
C DO-NOT-DELETE splicer.end(HelloServer.Component._dtor)
end
C
C Static class initializer called exactly once before any user-defined method is dispatched
C
subroutine HelloServer_Component__load_fi()
implicit none
C DO-NOT-DELETE splicer.begin(HelloServer.Component._load)
C Insert the implementation here...
C DO-NOT-DELETE splicer.end(HelloServer.Component._load)
end
C
C Method: get[]
C
subroutine HelloServer_Component_get_fi(self, retval)
implicit none
C in HelloServer.Component self
integer*8 self
C out string retval
character*(*) retval
C DO-NOT-DELETE splicer.begin(HelloServer.Component.get)
retval = 'Hello World!'
C DO-NOT-DELETE splicer.end(HelloServer.Component.get)
end
C
C Method: send[]
C
subroutine HelloServer_Component_send_fi(self, data)
implicit none
C in HelloServer.Component self
integer*8 self
C out array<int,2,column-major> data
integer*8 data
C DO-NOT-DELETE splicer.begin(HelloServer.Component.send)
C Insert the implementation here...
C DO-NOT-DELETE splicer.end(HelloServer.Component.send)
end
C
C Starts up a component presence in the calling framework.
C @param Svc the component instance's handle on the framework world.
C Contracts concerning Svc and setServices:
C
C The component interaction with the CCA framework
C and Ports begins on the call to setServices by the framework.
C
C This function is called exactly once for each instance created
C by the framework.
C
C The argument Svc will never be nil/null.
C
C Those uses ports which are automatically connected by the framework
C (so-called service-ports) may be obtained via getPort during
C setServices.
C
subroutine HelloServer_Component_setServices_fi(self, services)
implicit none
C in HelloServer.Component self
integer*8 self
C in gov.cca.Services services
integer*8 services
C DO-NOT-DELETE splicer.begin(HelloServer.Component.setServices)
integer*8 port
integer*8 properties
integer*8 exception
call gov_cca_Port__cast_f(self, port)
call gov_cca_Services_createTypeMap_f( services,
& properties,
& exception )
call catch( exception )
call gov_cca_Services_addProvidesPort_f(
& services,
& port,
& 'HelloServer',
& 'strop.StringProducerPort',
& properties,
& exception)
call catch( exception )
call gov_cca_TypeMap_deleteRef_f(properties)
C DO-NOT-DELETE splicer.end(HelloServer.Component.setServices)
end
C DO-NOT-DELETE splicer.begin(_miscellaneous_code_end)
subroutine catch( exception )
implicit none
integer*8 exception
character*(512) msg
character*(512) trace
if ( exception .eq. 0 ) then
return
else
call sidl_BaseException_getNote_f( exception, msg )
print *, 'Exception Caught', msg
call sidl_BaseException_getTrace_f( exception, trace )
print *, trace
exception = 0
endif
end
C DO-NOT-DELETE splicer.end(_miscellaneous_code_end)
|