2
* UGENE - Integrated Bioinformatics Tools.
3
* Copyright (C) 2008-2011 UniPro <ugene@unipro.ru>
4
* http://ugene.unipro.ru
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
22
#ifndef _U2_CDR_DBI_H_
23
#define _U2_CDR_DBI_H_
25
#include <U2Core/U2Type.h>
26
#include <U2Core/U2Dbi.h>
31
class U2CORE_EXPORT U2CrossDatabaseReferenceDbi : public U2ChildDbi {
33
U2CrossDatabaseReferenceDbi(U2Dbi* rootDbi) : U2ChildDbi(rootDbi){}
36
Adds new remote object to database.
37
Sets local object id assigned to the new value
38
Requires: U2DbiFeature_WriteCrossDatabaseReferences
40
virtual void createCrossReference(U2CrossDatabaseReference& reference, U2OpStatus& os) = 0;
43
Loads remote object information from DB
44
Requires: U2DbiFeature_ReadCrossDatabaseReferences
46
virtual U2CrossDatabaseReference getCrossReference(const U2DataId& objectId, U2OpStatus& os) = 0;
49
Updates all fields of cross database reference object
50
Requires: U2DbiFeature_WriteCrossDatabaseReferences
52
virtual void updateCrossReference(const U2CrossDatabaseReference& reference, U2OpStatus& os) = 0;