27 using namespace digidoc;
61 std::string ext = path.substr( path.size() - 4 );
62 transform( ext.begin(), ext.end(), ext.begin(), tolower );
65 m_doc =
new BDoc( path );
66 else if( ext ==
"ddoc" )
67 m_doc =
new DDoc( path );
69 throw IOException( __FILE__, __LINE__,
"Unknown document format" );
84 throw BDocException( __FILE__, __LINE__,
"Document not open" );
86 m_doc->addDocument( document );
98 throw BDocException( __FILE__, __LINE__,
"Document not open" );
100 m_doc->addSignature( signature );
109 throw BDocException( __FILE__, __LINE__,
"Document not open" );
124 throw BDocException( __FILE__, __LINE__,
"Document not open" );
126 return m_doc->getDocument(
id );
139 throw BDocException( __FILE__, __LINE__,
"Document not open" );
141 return m_doc->getSignature(
id );
155 throw BDocException( __FILE__, __LINE__,
"Document not open" );
157 m_doc->removeDocument(
id );
169 throw BDocException( __FILE__, __LINE__,
"Document not open" );
171 m_doc->removeSignature(
id );
185 throw BDocException( __FILE__, __LINE__,
"Document not open" );
202 throw BDocException( __FILE__, __LINE__,
"Document not open" );
204 m_doc->saveTo( path );
232 throw BDocException( __FILE__, __LINE__,
"Document not open" );
234 m_doc->sign( signer );
243 throw BDocException( __FILE__, __LINE__,
"Document not open" );
254 throw BDocException( __FILE__, __LINE__,
"Document not open" );
265 throw BDocException( __FILE__, __LINE__,
"Document not open" );
267 return m_doc->getFileDigest(
id );