aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacketVideo CM <engbuild@pv.com>2010-06-15 16:35:57 -0700
committerPacketVideo CM <engbuild@pv.com>2010-06-15 16:35:57 -0700
commitdff06cb06f68b149f840f7f6a9bbc621c9b16087 (patch)
tree7d709e13bea9b1d2bb201519b06948d870f5a1a9
parentb3956f934165ce34261f3d4abcd87d7de08f2d55 (diff)
downloadopencore-dff06cb06f68b149f840f7f6a9bbc621c9b16087.tar.gz
RIO-8608: Cleaned up DRM plugin interface
Change-Id: I9c1697169cb894d68848b0c3a73a7bcbd524b933
-rw-r--r--engines/2way/src/pv_2way_sdkinfo.h2
-rw-r--r--engines/author/src/pv_author_sdkinfo.h2
-rw-r--r--engines/player/src/pv_player_sdkinfo.h2
-rw-r--r--pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_domain_interface.h131
-rw-r--r--pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_license_manager_interface.h128
-rw-r--r--pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_metering_interface.h152
6 files changed, 3 insertions, 414 deletions
diff --git a/engines/2way/src/pv_2way_sdkinfo.h b/engines/2way/src/pv_2way_sdkinfo.h
index 489220974..7c2cc27a2 100644
--- a/engines/2way/src/pv_2way_sdkinfo.h
+++ b/engines/2way/src/pv_2way_sdkinfo.h
@@ -21,7 +21,7 @@
// This header file is automatically generated at build-time
// *** OFFICIAL RELEASE INFO -- Will not auto update
-#define PV2WAY_ENGINE_SDKINFO_LABEL "1467301"
+#define PV2WAY_ENGINE_SDKINFO_LABEL "1467359"
#define PV2WAY_ENGINE_SDKINFO_DATE 0x20100528
#endif //PV_2WAY_SDKINFO_H_INCLUDED
diff --git a/engines/author/src/pv_author_sdkinfo.h b/engines/author/src/pv_author_sdkinfo.h
index 86081128b..41d516b82 100644
--- a/engines/author/src/pv_author_sdkinfo.h
+++ b/engines/author/src/pv_author_sdkinfo.h
@@ -21,7 +21,7 @@
// This header file is automatically generated at build-time
// *** OFFICIAL RELEASE INFO -- Will not auto update
-#define PVAUTHOR_ENGINE_SDKINFO_LABEL "1467301"
+#define PVAUTHOR_ENGINE_SDKINFO_LABEL "1467359"
#define PVAUTHOR_ENGINE_SDKINFO_DATE 0x20100528
#endif //PV_AUTHOR_SDKINFO_H_INCLUDED
diff --git a/engines/player/src/pv_player_sdkinfo.h b/engines/player/src/pv_player_sdkinfo.h
index 00c103150..c525ce377 100644
--- a/engines/player/src/pv_player_sdkinfo.h
+++ b/engines/player/src/pv_player_sdkinfo.h
@@ -21,7 +21,7 @@
// This header file is automatically generated at build-time
// *** OFFICIAL RELEASE INFO -- Will not auto update
-#define PVPLAYER_ENGINE_SDKINFO_LABEL "1467301"
+#define PVPLAYER_ENGINE_SDKINFO_LABEL "1467359"
#define PVPLAYER_ENGINE_SDKINFO_DATE 0x20100528
#endif //PV_PLAYER_SDKINFO_H_INCLUDED
diff --git a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_domain_interface.h b/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_domain_interface.h
deleted file mode 100644
index cce629693..000000000
--- a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_domain_interface.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* ------------------------------------------------------------------
- * Copyright (C) 1998-2009 PacketVideo
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- * -------------------------------------------------------------------
- */
-#ifndef PVMF_CPMPLUGIN_DOMAIN_INTERFACE_H_INCLUDED
-#define PVMF_CPMPLUGIN_DOMAIN_INTERFACE_H_INCLUDED
-
-#ifndef OSCL_BASE_H_INCLUDED
-#include "oscl_base.h"
-#endif
-#ifndef OSCL_TYPES_H_INCLUDED
-#include "oscl_types.h"
-#endif
-#ifndef OSCL_VECTOR_H_INCLUDED
-#include "oscl_vector.h"
-#endif
-#ifndef OSCL_STRING_H_INCLUDED
-#include "oscl_string.h"
-#endif
-#ifndef PV_UUID_H_INCLUDED
-#include "pv_uuid.h"
-#endif
-#ifndef PV_INTERFACE_H_INCLUDED
-#include "pv_interface.h"
-#endif
-#include "pvmf_return_codes.h"
-#include "pvmf_event_handling.h"
-#include "pvmf_cpmplugin_domain_interface_types.h"
-
-#define PVMF_CPMPLUGIN_DOMAIN_INTERFACE_MIMETYPE "pvxxx/pvmf/cpm/plugin/domain_interface"
-#define PVMFCPMPluginDomainInterfaceUuid PVUuid(0x379e6e10,0x8a53,0x11db,0xb6,0x06,0x08,0x00,0x20,0x0c,0x9a,0x66)
-
-
-/**
- * License interface for all Content Policy Manager Plugins
- */
-class PVMFCPMPluginDomainInterface : public PVInterface
-{
- public:
- /**
- * Method to get the current number of domains
- *
- * @param [out] aCount: number of domains
- * @param [out] errcode: error code in case of failure.
- *
- * @returns PVMFSuccess or an error.
- */
- virtual PVMFStatus GetDomainCount(
- uint32& aCount
- , uint32& errcode) = 0;
-
- /**
- * Method to get the current domains.
- *
- * @param [in] aIndex: zero-based index of the desired domain info.
- *
- * @param [out] aDomainCertData the domain cert data.
- *
- * @param [out] errcode: error code in case of failure.
- *
- * @returns PVMFSuccess or an error.
- */
- virtual PVMFStatus GetDomain(
- uint32 aIndex
- , PVMFCPMDomainCertData& aDomainCertData
- , uint32& errcode) = 0;
-
- /**
- * Method to check existence of a domain certificate.
- *
- * @param [in] aDomainId: ID of the domain to check
- *
- * @param [out] errcode: error code in case of failure.
- *
- * @returns PVMFSuccess or an error.
- */
- virtual PVMFStatus CheckDomainCertificate(
- const PVMFCPMDomainId& aDomainId
- , uint32& errcode) = 0;
-
- /**
- * Method to join a domain
- *
- * @param [in] aSessionId: The assigned plugin session ID to use for this request
- *
- * @param [in] aJoinData: request parameters.
- *
- * @param [in] Timeout for the request in milliseconds, or (-1) for
- * infinite wait.
- *
- * @returns A unique command id for asynchronous completion.
- */
- virtual PVMFCommandId JoinDomain(
- PVMFSessionId aSessionId
- , const PVMFCPMDomainJoinData& aJoinData
- , int32 aTimeoutMsec = (-1)) = 0;
-
- /**
- * Method to leave a domain
- *
- * @param [in] aSessionId: The assigned plugin session ID to use for this request
- *
- * @param [in] aLeaveData: request parameters.
- *
- * @param [in] Timeout for the request in milliseconds, or (-1) for
- * infinite wait.
- *
- * @returns A unique command id for asynchronous completion.
- */
- virtual PVMFCommandId LeaveDomain(
- PVMFSessionId aSessionId
- , const PVMFCPMDomainLeaveData& aLeaveData
- , int32 aTimeoutMsec = (-1)) = 0;
-
-};
-
-#endif //PVMF_CPMPLUGIN_DOMAIN_INTERFACE_H_INCLUDED
-
diff --git a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_license_manager_interface.h b/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_license_manager_interface.h
deleted file mode 100644
index ee5c400d8..000000000
--- a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_license_manager_interface.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* ------------------------------------------------------------------
- * Copyright (C) 1998-2010 PacketVideo
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- * -------------------------------------------------------------------
- */
-#ifndef PVMF_CPMPLUGIN_LICENSE_MANAGER_INTERFACE_H_INCLUDED
-#define PVMF_CPMPLUGIN_LICENSE_MANAGER_INTERFACE_H_INCLUDED
-
-#ifndef OSCL_BASE_H_INCLUDED
-#include "oscl_base.h"
-#endif
-#ifndef OSCL_TYPES_H_INCLUDED
-#include "oscl_types.h"
-#endif
-#ifndef OSCL_VECTOR_H_INCLUDED
-#include "oscl_vector.h"
-#endif
-#ifndef OSCL_STRING_H_INCLUDED
-#include "oscl_string.h"
-#endif
-#ifndef PV_UUID_H_INCLUDED
-#include "pv_uuid.h"
-#endif
-#ifndef PV_INTERFACE_H_INCLUDED
-#include "pv_interface.h"
-#endif
-#include "pvmf_return_codes.h"
-#include "pvmf_event_handling.h"
-#include "pvmf_cpmplugin_license_manager_interface_types.h"
-#include "pvmf_cpmplugin_domain_interface_types.h"
-
-#define PVMF_CPMPLUGIN_LICENSE_MANAGER_INTERFACE_MIMETYPE "pvxxx/pvmf/cpm/plugin/license_manager_interface"
-#define PVMFCPMPluginLicenseManagerInterfaceUuid PVUuid(0x05b8186a,0xc2b1,0x11db,0x83,0x14,0x08,0x00,0x20,0x0c,0x9a,0x66)
-
-/**
- * License Manager interface for all Content Policy Manager Plugins
- */
-class PVMFCPMPluginLicenseManagerInterface : public PVInterface
-{
- public:
-
- /**
- * Method to perform license store maintenance.
- *
- * @param [out] Additional error code
- * @param [in] Optional opaque data associated with the request.
- * @param [in] Size of the optional opaque data.
- *
- * @returns PVMFSuccess or an error
- */
- virtual PVMFStatus LicenseStoreMaintenance(uint32 &aErrCode, OsclAny* aData = NULL
- , uint32 aDataSize = 0) = 0;
-
- /**
- * Method to get the status of an ongoing or recently completed
- * LicenseStoreMaintenance command.
- *
- * @param [out] aStatus: clean store status output
- *
- * @returns: PVMFSuccess if status is available, an error
- * otherwise.
- */
- virtual PVMFStatus GetLicenseStoreMaintenanceStatus(
- PVMFCPMLicenseStoreMaintenanceStatus& aStatus) = 0;
-
- /**
- * Method to delete a license from the store
- *
- * @param [in] content ID
- * @param [out] aErrcode: additional error code
- *
- * @returns PVMFSuccess or an error
- */
- virtual PVMFStatus DeleteLicense(const OSCL_String& aContentID
- , uint32 &aErrcode) = 0;
-
- /**
- * Method to retrieve the list of licenses that are pending expiry and need to
- * be updated/renewed from the server. This method gives greater control to the
- * application, since it gives greater flexibility and control of updating licenses
- * that it deems necessary.
- *
- * @param [out] aSyncList: A vector that would contain the list of licenses based on the
- * filtering criteria below.
- * @param [out] aErrCode: error code in case of failure.
- * @param [in] aMaxRemainingCount: For counted licenses, retrieve only those that have
- * less than the specified number of play counts remaining. To retrieve all counted
- * licenses regardless of the counts remaining, use (-1).
- * @param [in] aMaxRemainingHours: For time-based licenses, retrieve only those that have
- * less than the specified value of hours remaining. To retrieve all time-based
- * licenses regardless of the time remaining, use (-1).
- *
- * @returns: PVMFSuccess if licenses are available, an error otherwise.
- */
-
- virtual PVMFStatus GetLicenseSyncList(
- Oscl_Vector<PVMFCPMContentId, OsclMemAllocator> &aSyncList
- , uint32& aErrCode
- , int32 aMaxRemainingCount = -1
- , int32 aMaxRemainingHours = -1) = 0;
-
- /**
- * Method to delete all stored licenses for streaming content.
- *
- * @param [out] errcode: error code in case of failure.
- * @returns: PVMFSuccess if separate store for streaming licenses is available,
- * an error otherwise.
- */
-
- virtual PVMFStatus PurgeStreamingLicenses(
- uint32& errcode) = 0;
-};
-
-
-#endif //PVMF_CPMPLUGIN_LICENSE_INTERFACE_H_INCLUDED
-
diff --git a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_metering_interface.h b/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_metering_interface.h
deleted file mode 100644
index 61bd4c2af..000000000
--- a/pvmi/content_policy_manager/plugins/common/include/pvmf_cpmplugin_metering_interface.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* ------------------------------------------------------------------
- * Copyright (C) 1998-2010 PacketVideo
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- * -------------------------------------------------------------------
- */
-#ifndef PVMF_CPMPLUGIN_METERING_INTERFACE_H_INCLUDED
-#define PVMF_CPMPLUGIN_METERING_INTERFACE_H_INCLUDED
-
-#ifndef OSCL_BASE_H_INCLUDED
-#include "oscl_base.h"
-#endif
-#ifndef OSCL_TYPES_H_INCLUDED
-#include "oscl_types.h"
-#endif
-#ifndef OSCL_VECTOR_H_INCLUDED
-#include "oscl_vector.h"
-#endif
-#ifndef OSCL_STRING_H_INCLUDED
-#include "oscl_string.h"
-#endif
-#ifndef PV_UUID_H_INCLUDED
-#include "pv_uuid.h"
-#endif
-#ifndef PV_INTERFACE_H_INCLUDED
-#include "pv_interface.h"
-#endif
-#include "pvmf_return_codes.h"
-#include "pvmf_event_handling.h"
-#include "pvmf_cpmplugin_metering_interface_types.h"
-
-#define PVMF_CPMPLUGIN_METERING_INTERFACE_MIMETYPE "pvxxx/pvmf/cpm/plugin/metering_interface"
-#define PVMFCPMPluginMeteringInterfaceUuid PVUuid(0x5efe8be0,0xb62f,0x11db,0xab,0xbd,0x08,0x00,0x20,0x0c,0x9a,0x66)
-
-
-/**
- * Metering interface for all Content Policy Manager Plugins
- */
-class PVMFCPMPluginMeteringInterface : public PVInterface
-{
- public:
-
- /**
- * Method to report metering data for a specific Meter ID.
- * The meter cert store will be searched for a certificate with
- * the given meter ID. If the meter ID is found but there is no
- * certificate, then an attempt will be made to acquire the
- * certificate from the server. If the certificate is acquired
- * successfully then metering will be reported for that certificate.
- *
- * To get status during or after this operation, use GetMeteringStatus.
- * To interrupt and cancel metering, use the plugin CancelCommand.
- *
- * @param [in] aSessionId: The observer session Id.
- * @param [in] aMeteringData: PVMFCPMMeteringData structure containing
- * data related to this metering request.
- * @param [in] aTimeoutMsec: Optional timeout in milliseconds
- * for each server communication. Use -1 to indicate infinite wait.
- * @param [in] aContextData: Optional user data that will be returned
- * in the command completion callback.
- *
- * @returns A unique command id for asynchronous completion.
- */
- virtual PVMFCommandId ReportMeteringData(
- PVMFSessionId aSessionId,
- const PVMFCPMMeteringData& aMeteringData,
- int32 aTimeoutMsec = (-1),
- OsclAny* aContextData = NULL) = 0;
-
- /**
- * Method to get count of meter certificates present in the store.
- *
- * @param [out] aCount: Number of meter certs present.
- * @param [out] aErrCode: WMDRM error code in case an error occurred.
- *
- * @returns: PVMFSuccess or an error.
- */
- virtual PVMFStatus GetMeterIDCount(
- uint32& aCount
- , uint32& errcode) = 0;
-
- /**
- * Method to get MID of a meter cert present in the store.
- *
- * @param [in] aIndex: Zero-based index of the desired meter cert.
- * Meter cert count can be obtained using GetMeterCertCount().
- *
- * @param [out] aMID: MID of the meter cert at index aIndex.
- *
- * @param [out] errcode: error code in case of failure.
- *
- * @returns PVMFSuccess or an error.
- */
- virtual PVMFStatus GetMeterID(
- uint32 aIndex,
- PVMFCPMMeterId &aMID,
- uint32& aErrCode) = 0;
-
- /**
- * Method to get the status of an ongoing or recently completed
- * metering sequence.
- *
- * @param [out] aStatus: meter status output
- *
- * @returns: PVMFSuccess if meter status is available, an error
- * otherwise.
- */
- virtual PVMFStatus GetMeteringStatus(
- PVMFCPMMeterStatus& aStatus) = 0;
-
- /**
- * Method deletes a metering certificate from the metering certificate
- * store.
- *
- * @param [in] aMeteringData: PVMFCPMMeteringData structure containing
- * data related to this metering request.
- * @param [out] aErrCode: Error code
- *
- * @returns PVMFSuccess or error
- */
- virtual PVMFStatus DeleteMeterCertificate(
- const PVMFCPMMeterId& aMeteringData,
- uint32& aErrCode) = 0;
-
- /**
- * Method invalidates a metering certificate in a metering certificate context.
- * store.
- *
- * @param [in] aMeteringData: PVMFCPMMeteringData structure containing
- * data related to this metering request.
- * @param [out] aErrCode: Error code.
- *
- * @returns PVMFSuccess or error
- */
- virtual PVMFStatus InvalidateMeterCertificate(
- const PVMFCPMMeterId& aMeteringData,
- uint32& aErrCode) = 0;
-};
-
-#endif //PVMF_CPMPLUGIN_DOMAIN_INTERFACE_H_INCLUDED
-