00001 /* 00002 * Copyright 2005-2006 Intel Corporation 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 00018 #include "BundleEventHandler.h" 00019 00020 namespace dtn { 00021 00026 void 00027 BundleEventHandler::dispatch_event(BundleEvent* e) 00028 { 00029 log_debug("dispatching event (%p) %s", e, e->type_str()); 00030 00031 switch(e->type_) { 00032 00033 case BUNDLE_RECEIVED: 00034 handle_bundle_received((BundleReceivedEvent*)e); 00035 break; 00036 00037 case BUNDLE_TRANSMITTED: 00038 handle_bundle_transmitted((BundleTransmittedEvent*)e); 00039 break; 00040 00041 case BUNDLE_TRANSMIT_FAILED: 00042 handle_bundle_transmit_failed((BundleTransmitFailedEvent*)e); 00043 break; 00044 00045 case BUNDLE_DELIVERED: 00046 handle_bundle_delivered((BundleDeliveredEvent*)e); 00047 break; 00048 00049 case BUNDLE_EXPIRED: 00050 handle_bundle_expired((BundleExpiredEvent*)e); 00051 break; 00052 00053 case BUNDLE_FREE: 00054 handle_bundle_free((BundleFreeEvent*)e); 00055 break; 00056 00057 case BUNDLE_SEND: 00058 handle_bundle_send((BundleSendRequest*)e); 00059 break; 00060 00061 case BUNDLE_CANCEL: 00062 handle_bundle_cancel((BundleCancelRequest*)e); 00063 break; 00064 00065 case BUNDLE_INJECT: 00066 handle_bundle_inject((BundleInjectRequest*)e); 00067 break; 00068 00069 case BUNDLE_ACCEPT_REQUEST: 00070 handle_bundle_accept((BundleAcceptRequest*)e); 00071 break; 00072 00073 case BUNDLE_QUERY: 00074 handle_bundle_query((BundleQueryRequest*)e); 00075 break; 00076 00077 case BUNDLE_REPORT: 00078 handle_bundle_report((BundleReportEvent*)e); 00079 break; 00080 00081 case REGISTRATION_ADDED: 00082 handle_registration_added((RegistrationAddedEvent*)e); 00083 break; 00084 00085 case REGISTRATION_REMOVED: 00086 handle_registration_removed((RegistrationRemovedEvent*)e); 00087 break; 00088 00089 case REGISTRATION_EXPIRED: 00090 handle_registration_expired((RegistrationExpiredEvent*)e); 00091 break; 00092 00093 case ROUTE_ADD: 00094 handle_route_add((RouteAddEvent*)e); 00095 break; 00096 00097 case ROUTE_DEL: 00098 handle_route_del((RouteDelEvent*)e); 00099 break; 00100 00101 case ROUTE_QUERY: 00102 handle_route_query((RouteQueryRequest*)e); 00103 break; 00104 00105 case ROUTE_REPORT: 00106 handle_route_report((RouteReportEvent*)e); 00107 break; 00108 00109 case CONTACT_UP: 00110 handle_contact_up((ContactUpEvent*)e); 00111 break; 00112 00113 case CONTACT_DOWN: 00114 handle_contact_down((ContactDownEvent*)e); 00115 break; 00116 00117 case CONTACT_QUERY: 00118 handle_contact_query((ContactQueryRequest*)e); 00119 break; 00120 00121 case CONTACT_REPORT: 00122 handle_contact_report((ContactReportEvent*)e); 00123 break; 00124 00125 case LINK_CREATED: 00126 handle_link_created((LinkCreatedEvent*)e); 00127 break; 00128 00129 case LINK_DELETED: 00130 handle_link_deleted((LinkDeletedEvent*)e); 00131 break; 00132 00133 case LINK_AVAILABLE: 00134 handle_link_available((LinkAvailableEvent*)e); 00135 break; 00136 00137 case LINK_UNAVAILABLE: 00138 handle_link_unavailable((LinkUnavailableEvent*)e); 00139 break; 00140 00141 case LINK_STATE_CHANGE_REQUEST: 00142 handle_link_state_change_request((LinkStateChangeRequest*)e); 00143 break; 00144 00145 case LINK_CREATE: 00146 handle_link_create((LinkCreateRequest*)e); 00147 break; 00148 00149 case LINK_QUERY: 00150 handle_link_query((LinkQueryRequest*)e); 00151 break; 00152 00153 case LINK_REPORT: 00154 handle_link_report((LinkReportEvent*)e); 00155 break; 00156 00157 case REASSEMBLY_COMPLETED: 00158 handle_reassembly_completed((ReassemblyCompletedEvent*)e); 00159 break; 00160 00161 case CUSTODY_SIGNAL: 00162 handle_custody_signal((CustodySignalEvent*)e); 00163 break; 00164 00165 case CUSTODY_TIMEOUT: 00166 handle_custody_timeout((CustodyTimeoutEvent*)e); 00167 break; 00168 00169 case DAEMON_SHUTDOWN: 00170 handle_shutdown_request((ShutdownRequest*)e); 00171 break; 00172 00173 case DAEMON_STATUS: 00174 handle_status_request((StatusRequest*)e); 00175 break; 00176 00177 default: 00178 PANIC("unimplemented event type %d", e->type_); 00179 } 00180 } 00181 00185 void 00186 BundleEventHandler::handle_bundle_received(BundleReceivedEvent*) 00187 { 00188 } 00189 00193 void 00194 BundleEventHandler::handle_bundle_transmitted(BundleTransmittedEvent*) 00195 { 00196 } 00197 00201 void 00202 BundleEventHandler::handle_bundle_transmit_failed(BundleTransmitFailedEvent*) 00203 { 00204 } 00205 00209 void 00210 BundleEventHandler::handle_bundle_delivered(BundleDeliveredEvent*) 00211 { 00212 } 00213 00217 void 00218 BundleEventHandler::handle_bundle_expired(BundleExpiredEvent*) 00219 { 00220 } 00221 00226 void 00227 BundleEventHandler::handle_bundle_free(BundleFreeEvent*) 00228 { 00229 } 00230 00234 void 00235 BundleEventHandler::handle_bundle_send(BundleSendRequest*) 00236 { 00237 } 00238 00242 void 00243 BundleEventHandler::handle_bundle_cancel(BundleCancelRequest*) 00244 { 00245 } 00246 00250 void 00251 BundleEventHandler::handle_bundle_inject(BundleInjectRequest*) 00252 { 00253 } 00254 00258 void 00259 BundleEventHandler::handle_bundle_accept(BundleAcceptRequest*) 00260 { 00261 } 00262 00266 void 00267 BundleEventHandler::handle_bundle_query(BundleQueryRequest*) 00268 { 00269 } 00270 00274 void 00275 BundleEventHandler::handle_bundle_report(BundleReportEvent*) 00276 { 00277 } 00278 00283 void 00284 BundleEventHandler::handle_registration_added(RegistrationAddedEvent*) 00285 { 00286 } 00287 00291 void 00292 BundleEventHandler::handle_registration_removed(RegistrationRemovedEvent*) 00293 { 00294 } 00295 00299 void 00300 BundleEventHandler::handle_registration_expired(RegistrationExpiredEvent*) 00301 { 00302 } 00303 00307 void 00308 BundleEventHandler::handle_contact_up(ContactUpEvent*) 00309 { 00310 } 00311 00315 void 00316 BundleEventHandler::handle_contact_down(ContactDownEvent*) 00317 { 00318 } 00319 00323 void 00324 BundleEventHandler::handle_contact_query(ContactQueryRequest*) 00325 { 00326 } 00327 00331 void 00332 BundleEventHandler::handle_contact_report(ContactReportEvent*) 00333 { 00334 } 00335 00339 void 00340 BundleEventHandler::handle_link_created(LinkCreatedEvent*) 00341 { 00342 } 00343 00347 void 00348 BundleEventHandler::handle_link_deleted(LinkDeletedEvent*) 00349 { 00350 } 00351 00355 void 00356 BundleEventHandler::handle_link_available(LinkAvailableEvent*) 00357 { 00358 } 00359 00363 void 00364 BundleEventHandler::handle_link_unavailable(LinkUnavailableEvent*) 00365 { 00366 } 00367 00371 void 00372 BundleEventHandler::handle_link_state_change_request(LinkStateChangeRequest*) 00373 { 00374 } 00375 00379 void 00380 BundleEventHandler::handle_link_create(LinkCreateRequest*) 00381 { 00382 } 00383 00387 void 00388 BundleEventHandler::handle_link_query(LinkQueryRequest*) 00389 { 00390 } 00391 00395 void 00396 BundleEventHandler::handle_link_report(LinkReportEvent*) 00397 { 00398 } 00399 00403 void 00404 BundleEventHandler::handle_reassembly_completed(ReassemblyCompletedEvent*) 00405 { 00406 } 00407 00412 void 00413 BundleEventHandler::handle_route_add(RouteAddEvent*) 00414 { 00415 } 00416 00421 void 00422 BundleEventHandler::handle_route_del(RouteDelEvent*) 00423 { 00424 } 00425 00429 void 00430 BundleEventHandler::handle_route_query(RouteQueryRequest*) 00431 { 00432 } 00433 00437 void 00438 BundleEventHandler::handle_route_report(RouteReportEvent*) 00439 { 00440 } 00441 00445 void 00446 BundleEventHandler::handle_custody_signal(CustodySignalEvent*) 00447 { 00448 } 00449 00453 void 00454 BundleEventHandler::handle_custody_timeout(CustodyTimeoutEvent*) 00455 { 00456 } 00457 00461 void 00462 BundleEventHandler::handle_shutdown_request(ShutdownRequest*) 00463 { 00464 } 00465 00469 void 00470 BundleEventHandler::handle_status_request(StatusRequest*) 00471 { 00472 } 00473 00474 } // namespace dtn