Exemplo n.º 1
0
UploadItemIterator::UploadItemIterator(apr_pool_t *pool,
                                       UploadItemManager *item_manager,
                                       apr_size_t start_index,
                                       apr_size_t end_index)
  : header_list_(NULL),
    curr_index_(0)
{
    ReadLocker manager_locker(item_manager->lock_);

    init(pool, item_manager->item_list_, start_index, end_index);
}
/******************************************************************************
 * public メソッド
 *****************************************************************************/
ThumbnailIterator::ThumbnailIterator(apr_pool_t *pool,
                                     UploadItemManager *item_manager,
                                     apr_size_t start_index,
                                     apr_size_t end_index)
  : thumbnail_list_(NULL),
    curr_index_(0)
{
    ThumbnailList *thumbnail_list;
    ReadLocker manager_locker(item_manager->lock_);

    thumbnail_list = item_manager->thumbnail_list_;

    validate_index(thumbnail_list, &start_index, &end_index);
    size_= end_index - start_index;

    if (size_ != 0) {
        APR_PALLOC(thumbnail_list_, apr_size_t *, pool,
                   sizeof(apr_size_t)*(end_index-start_index));
        memcpy(thumbnail_list_, thumbnail_list->get_by_index(start_index),
               sizeof(apr_size_t)*size_);
    }