/**
 * @file
 * $Id$
 * $Revision$
 * $Author$
 * $Date$
 *
 * This file is part of The iWear Framework.
 *
 * The iWear Framework is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by the
 * Free Software Foundation as in version 2 of the License.

 * 
 * The iWear Framework is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * The iWear Framework; if not, write to the Free Software Foundation, Inc., 59
 * Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef __IWLOCATOR_WLOCATION_H
#define __IWLOCATOR_WLOCATION_H

#include <iwlocator/location.h>
#include <iwlocator/rangeinfo.h>

namespace iwear
{
    namespace sensor
    {
	namespace location
	{
class WLocation : public Location
{
public:
    WLocation( const string& _city, const string& _area, const string& _building, const string& _level, const string& _room, const string& _comment, double rms, const timeval* when = NULL );
    WLocation( const Location& l ) : Location(l) { }
    WLocation ( );
   /**
    * Mapping of accespoints and their range information to the BSSID
    *
    * @note To Myself. We map here to the bssid as string, since we may have
    * not loaded the corresponding ap info data to this location. This is
    * needed to not load the full network of ap informations. If we encounter a
    * new ap, we load every location that can be found with this. But those
    * locations migth have other non-in-range ap information attached, so we
    * map those only per bssid, so we do not need to load the full ap.
    */
    map<string,RangeInfo> aps;
    virtual bool SaveToDatabase( const string& tablename, db::db& dbref );
//    virtual bool LoadFromDatabase( uint32_t ID, const string& tablename, IWDB& dbref );
//    virtual bool UpdateToDatabase( const string& tablename, IWDB& dbref );

};
}
}
}
#endif

