diff options
Diffstat (limited to 'trunk/TAO/examples/Content_Server/AMI_Iterator/Iterator_Factory_i.h')
-rw-r--r-- | trunk/TAO/examples/Content_Server/AMI_Iterator/Iterator_Factory_i.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/trunk/TAO/examples/Content_Server/AMI_Iterator/Iterator_Factory_i.h b/trunk/TAO/examples/Content_Server/AMI_Iterator/Iterator_Factory_i.h new file mode 100644 index 00000000000..9d8feb6e748 --- /dev/null +++ b/trunk/TAO/examples/Content_Server/AMI_Iterator/Iterator_Factory_i.h @@ -0,0 +1,66 @@ +// -*- C++ -*- +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// AMI_Iterator +// +// = FILENAME +// Iterator_Factory_i.h +// +// = DESCRIPTION +// Header file for the Web_Server::Iterator_Factory implementation. +// +// = AUTHOR +// Ossama Othman <ossama@uci.edu> +// +// ============================================================================ + +#ifndef ITERATOR_FACTORY_I_H +#define ITERATOR_FACTORY_I_H + +#include "Web_ServerS.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ace/OS_NS_sys_stat.h" + +// Forward declarations +class Content_Iterator_i; + +class Iterator_Factory_i : virtual public POA_Web_Server::Iterator_Factory +{ + // = TITLE + // Factory that creates a Content_Iterator that retrieves fixed + // size chunks of data from Content server. + // + // = DESCRIPTION + // This class creates a Content_Iterator that is set up to + // iteratively download a specific file. This same factory can + // be used to create Content_Iterators for other files. +public: + + virtual void get_iterator (const char *pathname, + Web_Server::Content_Iterator_out contents, + Web_Server::Metadata_Type_out metadata + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + Web_Server::Error_Result)); + // This factory method returns a <Content_Iterator> that can be used + // to read the <contents> associated with <pathname> one ``chunk'' + // at a time. The <metadata> reports information about the + // <contents>. + + int modification_date (ACE_stat *file_status, + Web_Server::Metadata_Type_out metadata); + // Set the file modification date in the metadata structure. + + int content_type (const char *filename, + Web_Server::Metadata_Type_out metadata); + // Set the type of file content in the metadata structure. +}; + +#endif /* ITERATOR_FACTORY_I_H */ |