2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
9 #include <Archivable.h>
15 class FunctionID
: public ObjectID
, public BArchivable
{
17 FunctionID(const BMessage
& archive
);
18 FunctionID(const BString
& path
,
19 const BString
& functionName
);
22 virtual ~FunctionID();
24 virtual status_t
Archive(BMessage
* archive
,
25 bool deep
= true) const;
27 const BString
& FunctionName() const { return fFunctionName
; }
30 virtual uint32
ComputeHashValue() const;
36 BString fFunctionName
;
40 class SourceFunctionID
: public FunctionID
{
42 SourceFunctionID(const BMessage
& archive
);
43 SourceFunctionID(const BString
& sourceFilePath
,
44 const BString
& functionName
);
45 virtual ~SourceFunctionID();
47 static BArchivable
* Instantiate(BMessage
* archive
);
49 const BString
& SourceFilePath() const { return fPath
; }
51 virtual bool operator==(const ObjectID
& other
) const;
55 class ImageFunctionID
: public FunctionID
{
57 ImageFunctionID(const BMessage
& archive
);
58 ImageFunctionID(const BString
& imageName
,
59 const BString
& functionName
);
60 virtual ~ImageFunctionID();
62 static BArchivable
* Instantiate(BMessage
* archive
);
64 const BString
& ImageName() const { return fPath
; }
66 virtual bool operator==(const ObjectID
& other
) const;
70 #endif // FUNCTION_ID_H