62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
/*
|
|
* Copyright (c) 2005-2010, Haiku, Inc.
|
|
* Distributed under the terms of the MIT license.
|
|
*
|
|
* Author:
|
|
* DarkWyrm <darkwyrm@gmail.com>
|
|
*/
|
|
#ifndef RESOURCE_DATA_H
|
|
#define RESOURCE_DATA_H
|
|
|
|
#include <fs_attr.h>
|
|
#include <Resources.h>
|
|
#include <Node.h>
|
|
#include <String.h>
|
|
|
|
class ResourceData
|
|
{
|
|
public:
|
|
ResourceData(void);
|
|
ResourceData(const type_code &code, const int32 &id,
|
|
const char *name, char *data,
|
|
const size_t &length);
|
|
ResourceData(const ResourceData &data);
|
|
~ResourceData(void);
|
|
void SetTo(const type_code &code, const int32 &id,
|
|
const char *name, char *data, const size_t &length);
|
|
ResourceData & operator=(const ResourceData &data);
|
|
|
|
bool SetFromResource(const int32 &index, BResources &res);
|
|
bool SetFromAttribute(const char *name, BNode &node);
|
|
|
|
type_code GetType(void) const { return fType; }
|
|
const char * GetTypeString(void) const { return fTypeString.String(); }
|
|
void SetType(const type_code &code);
|
|
|
|
int32 GetID(void) const { return fID; }
|
|
const char * GetIDString(void) const { return fIDString.String(); }
|
|
void SetID(const int32 &id);
|
|
|
|
const char * GetName(void) const { return fName.String(); }
|
|
void SetName(const char *name) { fName = name; }
|
|
|
|
char * GetData(void) { return fData; }
|
|
size_t GetLength(void) const { return fLength; }
|
|
void SetData(const char *data, const size_t &size);
|
|
|
|
bool IsAttribute(void) const { return fAttr; }
|
|
void SetAttribute(const bool &value) { fAttr = value; }
|
|
|
|
private:
|
|
int32 fType;
|
|
BString fTypeString;
|
|
int32 fID;
|
|
BString fIDString;
|
|
BString fName;
|
|
char *fData;
|
|
size_t fLength;
|
|
bool fAttr;
|
|
};
|
|
|
|
#endif
|