/*
- Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
This file is part of libdcp.
files in the program, then also delete it here.
*/
+
/** @file src/key.h
- * @brief Key class.
+ * @brief Key class
*/
+
#ifndef LIBDCP_KEY_H
#define LIBDCP_KEY_H
+
#include <asdcp/AS_DCP.h>
#include <stdint.h>
#include <string>
+
namespace dcp {
+
/** @class Key
- * @brief A key for decrypting/encrypting assets.
+ * @brief A key for decrypting/encrypting assets
*/
class Key
{
public:
/** Create a new, random key */
- Key (int length = ASDCP::KeyLen);
+ explicit Key (int length = ASDCP::KeyLen);
/** Create a Key from a raw key value */
explicit Key (uint8_t const *, int length = ASDCP::KeyLen);
explicit Key (std::string);
Key (Key const &);
- ~Key ();
-
Key& operator= (Key const &);
+ ~Key ();
+
/** @return Raw key value */
uint8_t const * value () const {
return _value;
private:
/** Raw key value */
- uint8_t* _value;
- int _length;
+ uint8_t* _value = nullptr;
+ int _length = 0;
};
+
extern bool operator== (Key const & a, Key const & b);
extern bool operator!= (Key const & a, Key const & b);
+
}
#endif