00001 00002 #include "BundleEventHandler.h" 00003 00004 namespace dtn { 00005 00010 void 00011 BundleEventHandler::dispatch_event(BundleEvent* e) 00012 { 00013 log_debug("dispatching event (%p) %s", e, e->type_str()); 00014 00015 switch(e->type_) { 00016 00017 case BUNDLE_RECEIVED: 00018 handle_bundle_received((BundleReceivedEvent*)e); 00019 break; 00020 00021 case BUNDLE_TRANSMITTED: 00022 handle_bundle_transmitted((BundleTransmittedEvent*)e); 00023 break; 00024 00025 case BUNDLE_TRANSMIT_FAILED: 00026 handle_bundle_transmit_failed((BundleTransmitFailedEvent*)e); 00027 break; 00028 00029 case BUNDLE_DELIVERED: 00030 handle_bundle_delivered((BundleDeliveredEvent*)e); 00031 break; 00032 00033 case BUNDLE_EXPIRED: 00034 handle_bundle_expired((BundleExpiredEvent*)e); 00035 break; 00036 00037 case BUNDLE_FREE: 00038 handle_bundle_free((BundleFreeEvent*)e); 00039 break; 00040 00041 case REGISTRATION_ADDED: 00042 handle_registration_added((RegistrationAddedEvent*)e); 00043 break; 00044 00045 case REGISTRATION_REMOVED: 00046 handle_registration_removed((RegistrationRemovedEvent*)e); 00047 break; 00048 00049 case REGISTRATION_EXPIRED: 00050 handle_registration_expired((RegistrationExpiredEvent*)e); 00051 break; 00052 00053 case ROUTE_ADD: 00054 handle_route_add((RouteAddEvent*)e); 00055 break; 00056 00057 case ROUTE_DEL: 00058 handle_route_del((RouteDelEvent*)e); 00059 break; 00060 00061 case CONTACT_UP: 00062 handle_contact_up((ContactUpEvent*)e); 00063 break; 00064 00065 case CONTACT_DOWN: 00066 handle_contact_down((ContactDownEvent*)e); 00067 break; 00068 00069 case LINK_CREATED: 00070 handle_link_created((LinkCreatedEvent*)e); 00071 break; 00072 00073 case LINK_DELETED: 00074 handle_link_deleted((LinkDeletedEvent*)e); 00075 break; 00076 00077 case LINK_AVAILABLE: 00078 handle_link_available((LinkAvailableEvent*)e); 00079 break; 00080 00081 case LINK_UNAVAILABLE: 00082 handle_link_unavailable((LinkUnavailableEvent*)e); 00083 break; 00084 00085 case LINK_STATE_CHANGE_REQUEST: 00086 handle_link_state_change_request((LinkStateChangeRequest*)e); 00087 break; 00088 00089 case REASSEMBLY_COMPLETED: 00090 handle_reassembly_completed((ReassemblyCompletedEvent*)e); 00091 break; 00092 00093 case CUSTODY_SIGNAL: 00094 handle_custody_signal((CustodySignalEvent*)e); 00095 break; 00096 00097 case CUSTODY_TIMEOUT: 00098 handle_custody_timeout((CustodyTimeoutEvent*)e); 00099 break; 00100 00101 case DAEMON_SHUTDOWN: 00102 handle_shutdown_request((ShutdownRequest*)e); 00103 break; 00104 00105 case DAEMON_STATUS: 00106 handle_status_request((StatusRequest*)e); 00107 break; 00108 00109 default: 00110 PANIC("unimplemented event type %d", e->type_); 00111 } 00112 } 00113 00117 void 00118 BundleEventHandler::handle_bundle_received(BundleReceivedEvent*) 00119 { 00120 } 00121 00125 void 00126 BundleEventHandler::handle_bundle_transmitted(BundleTransmittedEvent*) 00127 { 00128 } 00129 00133 void 00134 BundleEventHandler::handle_bundle_transmit_failed(BundleTransmitFailedEvent*) 00135 { 00136 } 00137 00141 void 00142 BundleEventHandler::handle_bundle_delivered(BundleDeliveredEvent*) 00143 { 00144 } 00145 00149 void 00150 BundleEventHandler::handle_bundle_expired(BundleExpiredEvent*) 00151 { 00152 } 00153 00158 void 00159 BundleEventHandler::handle_bundle_free(BundleFreeEvent*) 00160 { 00161 } 00162 00167 void 00168 BundleEventHandler::handle_registration_added(RegistrationAddedEvent*) 00169 { 00170 } 00171 00175 void 00176 BundleEventHandler::handle_registration_removed(RegistrationRemovedEvent*) 00177 { 00178 } 00179 00183 void 00184 BundleEventHandler::handle_registration_expired(RegistrationExpiredEvent*) 00185 { 00186 } 00187 00191 void 00192 BundleEventHandler::handle_contact_up(ContactUpEvent*) 00193 { 00194 } 00195 00199 void 00200 BundleEventHandler::handle_contact_down(ContactDownEvent*) 00201 { 00202 } 00203 00207 void 00208 BundleEventHandler::handle_link_created(LinkCreatedEvent*) 00209 { 00210 } 00211 00215 void 00216 BundleEventHandler::handle_link_deleted(LinkDeletedEvent*) 00217 { 00218 } 00219 00223 void 00224 BundleEventHandler::handle_link_available(LinkAvailableEvent*) 00225 { 00226 } 00227 00231 void 00232 BundleEventHandler::handle_link_unavailable(LinkUnavailableEvent*) 00233 { 00234 } 00235 00239 void 00240 BundleEventHandler::handle_link_state_change_request(LinkStateChangeRequest*) 00241 { 00242 } 00243 00247 void 00248 BundleEventHandler::handle_reassembly_completed(ReassemblyCompletedEvent*) 00249 { 00250 } 00251 00256 void 00257 BundleEventHandler::handle_route_add(RouteAddEvent*) 00258 { 00259 } 00260 00265 void 00266 BundleEventHandler::handle_route_del(RouteDelEvent*) 00267 { 00268 } 00269 00273 void 00274 BundleEventHandler::handle_custody_signal(CustodySignalEvent*) 00275 { 00276 } 00277 00281 void 00282 BundleEventHandler::handle_custody_timeout(CustodyTimeoutEvent*) 00283 { 00284 } 00285 00289 void 00290 BundleEventHandler::handle_shutdown_request(ShutdownRequest*) 00291 { 00292 } 00293 00297 void 00298 BundleEventHandler::handle_status_request(StatusRequest*) 00299 { 00300 } 00301 00302 } // namespace dtn