/*
 *  ITnMapTrafficProxy.h
 *  OpenGL Map Engine
 *
 *  Created by Thant on 4/7/2010
 *  Copyright 2009 TeleNav Inc. All rights reserved.
 *
 */

#ifndef ITN_MAP_TRAFFIC_PROXY_H
#define ITN_MAP_TRAFFIC_PROXY_H

#include "foundation/SharedPtr.h"

#include "TnMapTrafficData.h"



/*! Client implements this. This is how they are informed about
 *  requests for map data from the engine. */


class ITnMapTrafficProxy
{
protected:

    virtual ~ITnMapTrafficProxy() = 0;

public:
    
    typedef Tn::Foundation::shared_ptr<ITnMapTrafficProxy> ptr;

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

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

#endif
