diff -r 000000000000 -r 2b3e5ec03512 servlib/bundling/APIBlockProcessor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/servlib/bundling/APIBlockProcessor.h Thu Apr 21 14:57:45 2011 +0100 @@ -0,0 +1,44 @@ +/* + * Copyright 2006 Intel Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _API_BLOCK_PROCESSOR_H_ +#define _API_BLOCK_PROCESSOR_H_ + +#include + +#include "BlockProcessor.h" + +namespace dtn { + +/** + * Block processor implementation for any bundle block generated by the API. + */ +class APIBlockProcessor : public BlockProcessor, + public oasys::Singleton { +public: + /// Constructor + APIBlockProcessor(); + + /// @{ Virtual from BlockProcessor + int consume(Bundle* bundle, BlockInfo* block, u_char* buf, size_t len); + int generate(const Bundle* bundle, BlockInfoVec* xmit_blocks, + BlockInfo* block, const LinkRef& link, bool last); + /// @} +}; + +} // namespace dtn + +#endif /* _API_BLOCK_PROCESSOR_H_ */