ACSMDownloader/include/rmsdk/dpdrm.h

189 lines
5.7 KiB
C++

/*
File automatically generated by SOAdvancedDissector.py
More information at http://indefero.soutade.fr/p/soadvanceddissector
*/
#ifndef _DPDRM_H
#define _DPDRM_H
#include <dp.h>
#include <dpio.h>
#include <dpdev.h>
namespace adept {
class FulfillmentItemList;
class ActivationImpl;
}
namespace dpdrm {
class Activation;
class DRMProcessor;
class DRMProcessorClient;
class DRMProvider;
class FulfillmentItem;
class License;
class Permission;
class Rights;
class Activation: public dp::RefCounted
{
public:
Activation();
virtual ~Activation();
virtual void* getInterfaceID();
virtual void addRef() = 0;
virtual void release() = 0;
virtual uft::String getUserID() = 0;
virtual uft::String getDeviceID() = 0;
virtual void getExpiration() = 0;
virtual void getAuthority() = 0;
virtual void getUsername() = 0;
virtual bool hasCredentials() = 0;
};
class DRMProcessor: public dp::Releasable
{
public:
DRMProcessor();
virtual ~DRMProcessor();
virtual void* getInterfaceID();
virtual void release() = 0;
virtual dp::list<adept::ActivationImpl> getActivations() = 0;
virtual void setUser(dp::String const&) = 0;
virtual void setPartition(dpio::Partition*) = 0;
virtual void reset() = 0;
virtual void initWorkflows(unsigned int, dp::Data const&) = 0;
virtual void initSignInWorkflow(unsigned int, dp::String const&, dp::String const&, dp::String const&) = 0;
virtual void initSignInWorkflow(unsigned int, dp::String const&, dp::String const&, dp::Data const&) = 0;
virtual void initLoanReturnWorkflow(dp::String const&) = 0;
virtual void initUpdateLoansWorkflow(dp::String const&, dp::String const&) = 0;
virtual void initJoinAccountsWorkflow(dp::String const&, dp::String const&, dp::String const&) = 0;
virtual int startWorkflows(unsigned int) = 0;
virtual void providePasshash(dp::Data const&) = 0;
virtual void provideInput(dp::Data const&) = 0;
virtual void provideConfirmation(dp::String const&, int) = 0;
virtual void transferLoanTokensFrom(dpdev::Device*) = 0;
virtual void transferCredentialsFrom(dpdev::Device*, dp::String const&, bool) = 0;
virtual dp::list<dpdrm::FulfillmentItem> getFulfillmentItems() = 0;
virtual void getFulfillmentID() = 0;
virtual void isReturnable() = 0;
virtual void addPasshash(dp::String const&, dp::Data const&) = 0;
virtual void removePasshash(dp::String const&, dp::Data const&) = 0;
virtual void calculatePasshash(dp::String const&, dp::String const&) = 0;
};
class DRMProcessorClient
{
public:
};
class DRMProvider: public dp::Unknown
{
public:
DRMProvider();
virtual ~DRMProvider();
virtual void* getInterfaceID();
virtual dpdrm::DRMProcessor* createDRMProcessor(dpdrm::DRMProcessorClient*, dpdev::Device*) = 0;
virtual void parseLicense(dp::Data const&) = 0;
void getProvider();
};
class FulfillmentItem: public dp::RefCounted
{
public:
FulfillmentItem();
virtual ~FulfillmentItem();
virtual void* getInterfaceID();
virtual void addRef() = 0;
virtual void release() = 0;
virtual dp::ref<dpdrm::Rights> getRights() = 0;
virtual dp::String getMetadata(dp::String const&) = 0;
virtual dp::String getDownloadMethod() = 0;
virtual dp::String getDownloadURL() = 0;
virtual dp::Data getPostData() = 0;
};
class License: public dp::RefCounted
{
public:
License();
virtual ~License();
virtual void* getInterfaceID();
virtual void addRef() = 0;
virtual void release() = 0;
virtual void getUserID() = 0;
virtual void getResourceID() = 0;
virtual dp::String getVoucherID() = 0;
virtual void getLicenseURL() = 0;
virtual void getOperatorURL() = 0;
virtual void getFulfillmentID() = 0;
virtual void getDistributorID() = 0;
virtual void getLicensee() = 0;
virtual void getPermissions(dp::String const&) = 0;
virtual void getCurrentCount(dp::String const&) = 0;
virtual void consume(dp::String const&, int) = 0;
virtual void getFlavor() = 0;
};
class Permission: public dp::RefCounted
{
public:
Permission();
virtual ~Permission();
virtual void* getInterfaceID();
virtual void addRef() = 0;
virtual void release() = 0;
virtual void getPermissionType() = 0;
virtual void getExpiration() = 0;
virtual void getLoanID() = 0;
virtual void getDeviceID() = 0;
virtual void getDeviceType() = 0;
virtual void getMaxResoultion() = 0;
virtual void getParts() = 0;
virtual void isConsumable() = 0;
virtual void getInitialCount() = 0;
virtual void getMaxCount() = 0;
virtual void getIncrementInterval() = 0;
};
class Rights: public dp::RefCounted
{
public:
Rights();
virtual ~Rights();
virtual void* getInterfaceID();
virtual void addRef() = 0;
virtual void release() = 0;
virtual dp::list<dpdrm::License> getLicenses() = 0;
virtual void getValidLicenses(dpdev::Device*) = 0;
virtual dp::Data serialize() = 0;
};
void getAuthenticationCertificate(dp::ref<dpdrm::Activation>);
void getUserCertificate(dp::ref<dpdrm::Activation>);
void signChallenge(dp::String const&, dp::String const&);
}
#endif // _DPDRM_H