1 /* 2 * Copyright 2013, Rene Gollent, rene@gollent.com. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef AREA_INFO_H 6 #define AREA_INFO_H 7 8 #include <OS.h> 9 #include <String.h> 10 11 #include "Types.h" 12 13 14 class AreaInfo { 15 public: 16 AreaInfo(); 17 AreaInfo(const AreaInfo& other); 18 AreaInfo(team_id team, area_id area, 19 const BString& name, target_addr_t address, 20 target_size_t size, target_size_t ram_size, 21 uint32 lock, uint32 protection); 22 23 void SetTo(team_id team, area_id area, 24 const BString& name, target_addr_t address, 25 target_size_t size, target_size_t ram_size, 26 uint32 lock, uint32 protection); 27 28 team_id TeamID() const { return fTeam; } 29 area_id AreaID() const { return fArea; } 30 const BString& Name() const { return fName; } 31 32 target_addr_t BaseAddress() const { return fAddress; } 33 target_size_t Size() const { return fSize; } 34 target_size_t RamSize() const { return fRamSize; } 35 uint32 Lock() const { return fLock; } 36 uint32 Protection() const { return fProtection; } 37 38 39 private: 40 team_id fTeam; 41 area_id fArea; 42 BString fName; 43 target_addr_t fAddress; 44 target_size_t fSize; 45 target_size_t fRamSize; 46 uint32 fLock; 47 uint32 fProtection; 48 }; 49 50 51 #endif // AREA_INFO_H 52