/*
 *  ITnVDProtoBufProxy.h
 *
 *  Created by Thant on August 1, 2013.
 *  Copyright 2013 TeleNav. All rights reserved.
 *
 */

#ifndef ITN_VD_PROTOBUF_PROXY_H
#define ITN_VD_PROTOBUF_PROXY_H

#include <foundation/SharedPtr.h>
#include <foundation/WeakPtr.h>

#include <RenderEngine/TnMapVectorData.h>
#include <GenericProxy/ITnVDProtoBufData.h>

class ITnVDProtoBufProxy
{
public:

    typedef Tn::Foundation::shared_ptr<ITnVDProtoBufProxy> ptr;
    typedef Tn::Foundation::weak_ptr<ITnVDProtoBufProxy> wptr;

    virtual ~ITnVDProtoBufProxy() = 0;

    virtual bool PrefetchSupported() const = 0;
    virtual void RequestTilePrefetch(TnMapTileId const & id) = 0;

    virtual void RequestTile(ITnVDProtoBufData::ptr const & data) = 0;

    virtual void CancelRequest(ITnVDProtoBufData::ptr const & data) = 0;
};

#endif

