CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Binary.cc
Go to the documentation of this file.
3 //
4 #include "CoralBase/Blob.h"
5 //
6 #include <cstring>
7 
8 #include <openssl/sha.h>
9 #include <cstring>
10 
12  m_data( new coral::Blob(0) ){
13 }
14 
15 cond::Binary::Binary( const boost::shared_ptr<void>& objectPtr ):
16  m_object( objectPtr ){
17 }
18 
19 cond::Binary::Binary( const void* data, size_t size ):
20  m_data( new coral::Blob( size ) ){
21  ::memcpy( m_data->startingAddress(), data, size );
22 }
23 
24 cond::Binary::Binary( const coral::Blob& data ):
25  m_data( new coral::Blob(data.size()) ){
26  ::memcpy( m_data->startingAddress(), data.startingAddress(), data.size() );
27 }
28 
30  m_data( rhs.m_data ),
31  m_object( rhs.m_object ){
32 }
33 
35  if( this != &rhs ) {
36  m_data = rhs.m_data;
37  m_object = rhs.m_object;
38  }
39  return *this;
40 }
41 
42 const coral::Blob& cond::Binary::get() const {
43  return *m_data;
44 }
45 
47  m_data.reset( new coral::Blob( source.size() ) );
48  ::memcpy( m_data->startingAddress(), source.c_str(), source.size() );
49  m_object.reset();
50 }
51 
52 const void* cond::Binary::data() const {
53  if(!m_data.get()) throwException( "Binary data can't be accessed.","Binary::data");
54  return m_data->startingAddress();
55 }
57  if(!m_data.get()) throwException( "Binary data can't be accessed.","Binary::data");
58  return m_data->startingAddress();
59 }
60 
61 size_t cond::Binary::size() const {
62  if(!m_data.get()) throwException( "Binary size can't be provided.","Binary::size");
63  return m_data->size();
64 }
65 
66 boost::shared_ptr<void> cond::Binary::share() const {
67  return m_object;
68 }
69 
70 
71 
72 
size_t size() const
Definition: Binary.cc:61
std::shared_ptr< coral::Blob > m_data
Definition: Binary.h:50
Binary & operator=(const Binary &rhs)
Definition: Binary.cc:34
void copy(const std::string &source)
Definition: Binary.cc:46
const void * data() const
Definition: Binary.cc:52
void throwException(std::string const &message, std::string const &methodName)
Definition: Exception.cc:17
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
const coral::Blob & get() const
Definition: Binary.cc:42
boost::shared_ptr< void > m_object
Definition: Binary.h:52
static std::string const source
Definition: EdmProvDump.cc:43
tuple size
Write out results.
boost::shared_ptr< void > share() const
Definition: Binary.cc:66