189 lines
5.7 KiB
C
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
|