1//----------------------------------------------------------------------
2//  This software is part of the Haiku distribution and is covered
3//  by the MIT License.
4//---------------------------------------------------------------------
5
6#include "AddOnImage.h"
7
8
9// constructor
10AddOnImage::AddOnImage()
11	: fID(-1)
12{
13}
14
15
16// destructor
17AddOnImage::~AddOnImage()
18{
19	Unload();
20}
21
22
23// Load
24status_t
25AddOnImage::Load(const char* path)
26{
27	Unload();
28	status_t error = (path ? B_OK : B_BAD_VALUE);
29	if (error == B_OK) {
30		image_id id = load_add_on(path);
31		if (id >= 0)
32			fID = id;
33		else
34			error = id;
35	}
36	return error;
37}
38
39
40// Unload
41void
42AddOnImage::Unload()
43{
44	if (fID >= 0) {
45		unload_add_on(fID);
46		fID = -1;
47	}
48}
49
50
51// SetID
52void
53AddOnImage::SetID(image_id id)
54{
55	Unload();
56	if (id >= 0)
57		fID = id;
58}
59