xref: /haiku/src/apps/haikudepot/packagemodel/PackageScreenshotInfo.h (revision 344ded80d400028c8f561b4b876257b94c12db4a)
1 /*
2  * Copyright 2024, Andrew Lindesay <apl@lindesay.co.nz>.
3  * All rights reserved. Distributed under the terms of the MIT License.
4  */
5 #ifndef PACKAGE_SCREENSHOT_INFO_H
6 #define PACKAGE_SCREENSHOT_INFO_H
7 
8 
9 #include <vector>
10 
11 #include <Referenceable.h>
12 #include <String.h>
13 
14 #include "ScreenshotInfo.h"
15 
16 
17 class PackageScreenshotInfo : public BReferenceable
18 {
19 public:
20 								PackageScreenshotInfo();
21 								PackageScreenshotInfo(const PackageScreenshotInfo& other);
22 
23 			PackageScreenshotInfo&
24 								operator=(const PackageScreenshotInfo& other);
25 			bool				operator==(const PackageScreenshotInfo& other) const;
26 			bool				operator!=(const PackageScreenshotInfo& other) const;
27 
28 			void				Clear();
29 			void				AddScreenshot(const ScreenshotInfoRef& info);
30 			int32				Count() const;
31 			ScreenshotInfoRef	ScreenshotAtIndex(int32 index) const;
32 
33 private:
34 			std::vector<ScreenshotInfoRef>
35 								fScreenshotInfos;
36 };
37 
38 
39 typedef BReference<PackageScreenshotInfo> PackageScreenshotInfoRef;
40 
41 
42 #endif // PACKAGE_SCREENSHOT_INFO_H
43