1 /*---------------------------------------------------------------------------*
2 
3 Copyright (C) Nintendo.  All rights reserved.
4 
5 These coded instructions, statements, and computer programs contain
6 proprietary information of Nintendo of America Inc. and/or Nintendo
7 Company Ltd., and are protected by Federal copyright law.  They may
8 not be disclosed to third parties or copied or duplicated in any form,
9 in whole or in part, without the prior written consent of Nintendo.
10 
11  *---------------------------------------------------------------------------*/
12 
13 #ifndef NN_EC_AOC_H_
14 #define NN_EC_AOC_H_
15 
16 #include <nn/ec/ec_Types.h>
17 #include <nn/ec/ec_DataSize.h>
18 
19 namespace nn { namespace ec {
20 
21 //! @addtogroup  nn_ec_class
22 //! @{
23 
24 /*!
25 @brief  Class for handling downloadable content information.
26 
27 @see  <a class="el" href="../../Doc/EcdkProgrammingManual/contents/Pages/Page_48711722.html#PageId_48924616">Programming Manual</a>
28 */
29 class Aoc : public RootObject, private NonCopyable<Aoc>
30 {
31 public:
32     NN_EC_DECLARE_ACCESSOR;
33     NN_EC_DECLARE_IMPL;
34 
35 public:
36     /*!
37 @brief  Instantiates an object.
38 */
39     Aoc();
40 
41     /*!
42 @brief  Destroys the object.
43 */
44     ~Aoc();
45 
46     /*!
47 @brief  Gets the index list of the content.
48 
49 @return  Returns the content index list.
50 */
51     const u16* GetContentIndexes() const;
52 
53     /*!
54 @brief  Gets the number of content items.
55 
56 @return  Returns the number of content items.
57 */
58     u32 GetNumContents() const;
59 
60     /*!
61 @brief  Gets the data size.
62 
63 @return  Returns the data size.
64 */
65     const DataSize* GetDataSize() const;
66 
67     /*!
68 @brief  Determines whether it is installed.
69 
70 @return  Returns <tt>true</tt> if it is installed, or <tt>false</tt> otherwise.
71 */
72     bool IsInstalled() const;
73 
74     /*!
75 @brief  Determines whether overlapping purchases are allowed.
76 
77 If overlapping purchases are allowed, users can buy items with multiple pieces of content even if they already own some of the content. @n
78 However, if all of the content in an item has been purchased already, the purchase is not possible even if overlapping purchases are allowed.
79 
80 @return  Returns <tt>true</tt> if overlapping purchases are allowed, or <tt>false</tt> otherwise.
81 
82 @see  Item::IsPartiallyPurchased
83 */
84     bool AllowsOverlap() const;
85 
86     /*!
87 @brief  Gets the unique ID.
88 
89 @return  Returns the unique ID.
90 */
91     u32 GetUniqueId() const;
92 
93     /*!
94 @brief  Gets the variation.
95 
96 @return  Returns the variation.
97 */
98     u8 GetVariation() const;
99 
100 private:
101     //
102     NN_EC_IMPL;
103 };
104 
105 //! @}
106 
107 }} // namespace nn::ec
108 
109 #endif // NN_EC_AOC_H_
110