media/gmp-clearkey/0.1/ClearKeySession.h
author Nicholas Hurley <hurley@todesschaf.org>
Fri, 31 Oct 2014 15:02:02 -0700
changeset 225721 2026699132a1ec3c2b44fd0769f515eaa2044dbb
parent 224839 a6e6e78b033874adee6293f306ff3e4fed713b1e
child 233545 dc6994acf4e38744c1da0de44ad07f0db45b46bf
permissions -rw-r--r--
Bug 1092287 - Update node-http2 to latest master. rs=mcmanus

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef __ClearKeySession_h__
#define __ClearKeySession_h__

#include "ClearKeyUtils.h"

class GMPBuffer;
class GMPDecryptorCallback;
class GMPDecryptorHost;
class GMPEncryptedBufferMetadata;

/**
 * Currently useless; will be fleshed out later with support for persistent
 * key sessions.
 */

class ClearKeySession
{
public:
  ClearKeySession(const std::string& aSessionId,
                  GMPDecryptorCallback* aCallback);

  ~ClearKeySession();

  const std::vector<KeyId>& GetKeyIds() { return mKeyIds; }

  void Init(uint32_t aPromiseId,
            const uint8_t* aInitData, uint32_t aInitDataSize);
private:
  std::string mSessionId;
  std::vector<KeyId> mKeyIds;

  GMPDecryptorCallback* mCallback;
};

#endif // __ClearKeySession_h__