xref: /aosp_15_r20/frameworks/av/include/drm/DrmInfoEvent.h (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1*ec779b8eSAndroid Build Coastguard Worker /*
2*ec779b8eSAndroid Build Coastguard Worker  * Copyright (C) 2010 The Android Open Source Project
3*ec779b8eSAndroid Build Coastguard Worker  *
4*ec779b8eSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*ec779b8eSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*ec779b8eSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*ec779b8eSAndroid Build Coastguard Worker  *
8*ec779b8eSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
9*ec779b8eSAndroid Build Coastguard Worker  *
10*ec779b8eSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*ec779b8eSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*ec779b8eSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*ec779b8eSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*ec779b8eSAndroid Build Coastguard Worker  * limitations under the License.
15*ec779b8eSAndroid Build Coastguard Worker  */
16*ec779b8eSAndroid Build Coastguard Worker 
17*ec779b8eSAndroid Build Coastguard Worker #ifndef __DRM_INFO_EVENT_H__
18*ec779b8eSAndroid Build Coastguard Worker #define __DRM_INFO_EVENT_H__
19*ec779b8eSAndroid Build Coastguard Worker 
20*ec779b8eSAndroid Build Coastguard Worker namespace android {
21*ec779b8eSAndroid Build Coastguard Worker 
22*ec779b8eSAndroid Build Coastguard Worker class String8;
23*ec779b8eSAndroid Build Coastguard Worker 
24*ec779b8eSAndroid Build Coastguard Worker /**
25*ec779b8eSAndroid Build Coastguard Worker  * This is an entity class which would be passed to caller in
26*ec779b8eSAndroid Build Coastguard Worker  * DrmManagerClient::OnInfoListener::onInfo(const DrmInfoEvent&).
27*ec779b8eSAndroid Build Coastguard Worker  */
28*ec779b8eSAndroid Build Coastguard Worker class DrmInfoEvent {
29*ec779b8eSAndroid Build Coastguard Worker public:
30*ec779b8eSAndroid Build Coastguard Worker     /**
31*ec779b8eSAndroid Build Coastguard Worker      * The following constant values should be in sync with DrmInfoEvent.java
32*ec779b8eSAndroid Build Coastguard Worker      */
33*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT, when registration has been
34*ec779b8eSAndroid Build Coastguard Worker     //! already done by another account ID.
35*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT = 1;
36*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_REMOVE_RIGHTS, when the rights needs to be removed completely.
37*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_REMOVE_RIGHTS = 2;
38*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_RIGHTS_INSTALLED, when the rights are downloaded and installed ok.
39*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_RIGHTS_INSTALLED = 3;
40*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_WAIT_FOR_RIGHTS, rights object is on it's way to phone,
41*ec779b8eSAndroid Build Coastguard Worker     //! wait before calling checkRights again
42*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_WAIT_FOR_RIGHTS = 4;
43*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_ACCOUNT_ALREADY_REGISTERED, when registration has been
44*ec779b8eSAndroid Build Coastguard Worker     //! already done for the given account.
45*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_ACCOUNT_ALREADY_REGISTERED = 5;
46*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_RIGHTS_REMOVED, when the rights has been removed.
47*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_RIGHTS_REMOVED = 6;
48*ec779b8eSAndroid Build Coastguard Worker 
49*ec779b8eSAndroid Build Coastguard Worker     /**
50*ec779b8eSAndroid Build Coastguard Worker      * The following constant values should be in sync with DrmErrorEvent.java
51*ec779b8eSAndroid Build Coastguard Worker      */
52*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_RIGHTS_NOT_INSTALLED, when something went wrong installing the rights
53*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_RIGHTS_NOT_INSTALLED = 2001;
54*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_RIGHTS_RENEWAL_NOT_ALLOWED, when the server rejects renewal of rights
55*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_RIGHTS_RENEWAL_NOT_ALLOWED = 2002;
56*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_NOT_SUPPORTED, when answer from server can not be handled by the native agent
57*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_NOT_SUPPORTED = 2003;
58*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_OUT_OF_MEMORY, when memory allocation fail during renewal.
59*ec779b8eSAndroid Build Coastguard Worker     //! Can in the future perhaps be used to trigger garbage collector
60*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_OUT_OF_MEMORY = 2004;
61*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_NO_INTERNET_CONNECTION, when the Internet connection is missing and no attempt
62*ec779b8eSAndroid Build Coastguard Worker     //! can be made to renew rights
63*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_NO_INTERNET_CONNECTION = 2005;
64*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_PROCESS_DRM_INFO_FAILED, when failed to process DrmInfo.
65*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_PROCESS_DRM_INFO_FAILED = 2006;
66*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_REMOVE_ALL_RIGHTS_FAILED, when failed to remove all the rights objects
67*ec779b8eSAndroid Build Coastguard Worker     //! associated with all DRM schemes.
68*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_REMOVE_ALL_RIGHTS_FAILED = 2007;
69*ec779b8eSAndroid Build Coastguard Worker     //! TYPE_ACQUIRE_DRM_INFO_FAILED, when failed to acquire DrmInfo.
70*ec779b8eSAndroid Build Coastguard Worker     static const int TYPE_ACQUIRE_DRM_INFO_FAILED = 2008;
71*ec779b8eSAndroid Build Coastguard Worker 
72*ec779b8eSAndroid Build Coastguard Worker public:
73*ec779b8eSAndroid Build Coastguard Worker     /**
74*ec779b8eSAndroid Build Coastguard Worker      * Constructor for DrmInfoEvent
75*ec779b8eSAndroid Build Coastguard Worker      *
76*ec779b8eSAndroid Build Coastguard Worker      * @param[in] uniqueId Unique session identifier
77*ec779b8eSAndroid Build Coastguard Worker      * @param[in] infoType Type of information
78*ec779b8eSAndroid Build Coastguard Worker      * @param[in] message Message description
79*ec779b8eSAndroid Build Coastguard Worker      */
80*ec779b8eSAndroid Build Coastguard Worker     DrmInfoEvent(int uniqueId, int infoType, const String8& message);
81*ec779b8eSAndroid Build Coastguard Worker 
82*ec779b8eSAndroid Build Coastguard Worker     /**
83*ec779b8eSAndroid Build Coastguard Worker      * Destructor for DrmInfoEvent
84*ec779b8eSAndroid Build Coastguard Worker      */
~DrmInfoEvent()85*ec779b8eSAndroid Build Coastguard Worker     virtual ~DrmInfoEvent() {}
86*ec779b8eSAndroid Build Coastguard Worker 
87*ec779b8eSAndroid Build Coastguard Worker public:
88*ec779b8eSAndroid Build Coastguard Worker     /**
89*ec779b8eSAndroid Build Coastguard Worker      * Returns the Unique Id associated with this instance
90*ec779b8eSAndroid Build Coastguard Worker      *
91*ec779b8eSAndroid Build Coastguard Worker      * @return Unique Id
92*ec779b8eSAndroid Build Coastguard Worker      */
93*ec779b8eSAndroid Build Coastguard Worker     int getUniqueId() const;
94*ec779b8eSAndroid Build Coastguard Worker 
95*ec779b8eSAndroid Build Coastguard Worker     /**
96*ec779b8eSAndroid Build Coastguard Worker      * Returns the Type of information associated with this object
97*ec779b8eSAndroid Build Coastguard Worker      *
98*ec779b8eSAndroid Build Coastguard Worker      * @return Type of information
99*ec779b8eSAndroid Build Coastguard Worker      */
100*ec779b8eSAndroid Build Coastguard Worker     int getType() const;
101*ec779b8eSAndroid Build Coastguard Worker 
102*ec779b8eSAndroid Build Coastguard Worker     /**
103*ec779b8eSAndroid Build Coastguard Worker      * Returns the message description associated with this object
104*ec779b8eSAndroid Build Coastguard Worker      *
105*ec779b8eSAndroid Build Coastguard Worker      * @return Message description
106*ec779b8eSAndroid Build Coastguard Worker      */
107*ec779b8eSAndroid Build Coastguard Worker     const String8 getMessage() const;
108*ec779b8eSAndroid Build Coastguard Worker 
109*ec779b8eSAndroid Build Coastguard Worker private:
110*ec779b8eSAndroid Build Coastguard Worker     int mUniqueId;
111*ec779b8eSAndroid Build Coastguard Worker     int mInfoType;
112*ec779b8eSAndroid Build Coastguard Worker     const String8 mMessage;
113*ec779b8eSAndroid Build Coastguard Worker };
114*ec779b8eSAndroid Build Coastguard Worker 
115*ec779b8eSAndroid Build Coastguard Worker };
116*ec779b8eSAndroid Build Coastguard Worker 
117*ec779b8eSAndroid Build Coastguard Worker #endif /* __DRM_INFO_EVENT_H__ */
118*ec779b8eSAndroid Build Coastguard Worker 
119