00001 /*MT* 00002 00003 MediaTomb - http://www.mediatomb.cc/ 00004 00005 cache_object.h - this file is part of MediaTomb. 00006 00007 Copyright (C) 2005 Gena Batyan <bgeradz@mediatomb.cc>, 00008 Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc> 00009 00010 Copyright (C) 2006-2010 Gena Batyan <bgeradz@mediatomb.cc>, 00011 Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc>, 00012 Leonhard Wimmer <leo@mediatomb.cc> 00013 00014 MediaTomb is free software; you can redistribute it and/or modify 00015 it under the terms of the GNU General Public License version 2 00016 as published by the Free Software Foundation. 00017 00018 MediaTomb is distributed in the hope that it will be useful, 00019 but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 GNU General Public License for more details. 00022 00023 You should have received a copy of the GNU General Public License 00024 version 2 along with MediaTomb; if not, write to the Free Software 00025 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 00026 00027 $Id: cache_object.h 2081 2010-03-23 20:18:00Z lww $ 00028 */ 00029 00031 00032 #ifndef __CACHE_OBJECT_H__ 00033 #define __CACHE_OBJECT_H__ 00034 00035 #include "zmmf/zmmf.h" 00036 #include "common.h" 00037 #include "cds_objects.h" 00038 00039 class CacheObject : public zmm::Object 00040 { 00041 public: 00042 CacheObject(); 00043 00044 void debug(); 00045 00046 void setParentID(int parentID) { this->parentID = parentID; } 00047 int getParentID() { return parentID; } 00048 bool knowsParentID() { return parentID != INVALID_OBJECT_ID; } 00049 00050 void setRefID(int refID) { this->refID = refID; knowRefID = true; } 00051 int getRefID() { return refID; } 00052 bool knowsRefID() { return knowRefID; } 00053 00054 void setObject(zmm::Ref<CdsObject> obj); 00055 zmm::Ref<CdsObject> getObject() { return obj; } 00056 bool knowsObject() { return obj != nil; } 00057 00058 void setNumChildren(int numChildren) { this->numChildren = numChildren; knowNumChildren = true; } 00059 int getNumChildren() { return numChildren; } 00060 bool knowsNumChildren() { return knowNumChildren; } 00061 00062 void setObjectType(int objectType) { this->objectType = objectType; knowObjectType = true; } 00063 int getObjectType() { return objectType; } 00064 bool knowsObjectType() { return knowObjectType; } 00065 00066 void setLocation(zmm::String location) { this->location = location; } 00067 zmm::String getLocation() { return location; } 00068 bool knowsLocation() { return location != nil; } 00069 00070 void setVirtual(bool virtualObj) { this->virtualObj = virtualObj; knowVirtualObj = true; } 00071 bool getVirtual() { return virtualObj; } 00072 bool knowsVirtual() { return knowVirtualObj; } 00073 00074 private: 00075 00076 int parentID; 00077 int refID; 00078 bool knowRefID; 00079 zmm::Ref<CdsObject> obj; 00080 bool knowNumChildren; 00081 int numChildren; 00082 int objectType; 00083 bool knowObjectType; 00084 bool virtualObj; 00085 bool knowVirtualObj; 00086 00087 zmm::String location; 00088 }; 00089 00090 #endif // __CACHE_OBJECT_H_
1.6.1