Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

object.h

Go to the documentation of this file.
00001 /*                               -*- Mode: C -*- 
00002  * object.h
00003  * Copyright © 2003 Laboratoire de Biologie Informatique et Théorique
00004  *                  Université de Montréal.
00005  * Author           : Martin Larose
00006  * Created On       : Thu Jun  5 15:17:37 2003
00007  * $Revision: 1.11 $
00008  * $Id: object.h,v 1.11 2003/10/18 00:19:15 larosem Exp $
00009  *
00010  * This file is part of xmlcpg.
00011  *
00012  * xmlcpg is free software; you can redistribute it and/or modify it under
00013  * the terms of the GNU Lesser General Public License as published by the Free
00014  * Software Foundation; either version 2 of the License, or (at your option)
00015  * any later version.
00016  *
00017  * xmlcpg is distributed in the hope that it will be useful, but WITHOUT ANY
00018  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00019  * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
00020  * more details.
00021  *
00022  * You should have received a copy of the GNU Lesser General Public License
00023  * along with xmlcpg; if not, write to the Free Software Foundation, Inc.,
00024  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00025  */
00026 
00027 
00028 #ifndef _rnaml_object_h_
00029 #define _rnaml_object_h_
00030 
00031 #include "xmlcpg.h"
00032 
00033 
00034 
00035 typedef enum
00036   {
00037     rnamlaffiliation, rnamlalignment, rnamlalignmentid, rnamlalisequence,
00038     rnamlanalysis, rnamlatom, rnamlauthor, rnamlbase, rnamlbaseconformation,
00039     rnamlbaseid, rnamlbaseid5p, rnamlbaseid3p, rnamlbasepair, rnamlbasepairid,
00040     rnamlbasestack, rnamlbasetorsionangles, rnamlbooktitle,
00041     rnamlconsensusmolecule, rnamldatabaseentry, rnamldate,
00042     rnamldistanceconstraint, rnamleditor, rnamlfreeenergy, rnamlfile,
00043     rnamlhelix, rnamlhelixid, rnamlidentity, rnamlinteractions, rnamlissue,
00044     rnamljournal, rnamlmethod, rnamlmodel, rnamlmodelid, rnamlmodelinfo,
00045     rnamlmodification, rnamlmolecule, rnamlmoleculeclass, rnamlmoleculeid,
00046     rnamlnumberingrange, rnamlnumberingsystem, rnamlnumberingtable, rnamlpages,
00047     rnamlpath, rnamlobject, rnamlrnaml, rnamlperson, rnamlprogname,
00048     rnamlprogram, rnamlprogversion, rnamlpseudoknot, rnamlpubmedid,
00049     rnamlreference, rnamlresolution, rnamlrevision,
00050     rnamlsecondarystructuredisplay, rnamlsegment, rnamlseqannotation,
00051     rnamlseqdata, rnamlsequence, rnamlsinglestrand, rnamlssbasecoord,
00052     rnamlstrannotation, rnamlstructure, rnamlsurfaceconstraint, rnamltaxonomy,
00053     rnamltitle, rnamlurl, rnamlvolume, rnamlbasetriple, rnamlpcdata,
00054     rnamlunmarshaller, rnamlmarshaller, rnamllength, rnamlend
00055   } rnamlObjectTag;
00056 
00057 
00058 
00059 typedef struct rnamlOBJECT
00060 {
00061   rnamlObjectTag tag;
00062   char *comment;
00063   xmlcpgList *referenceIds;
00064   xmlcpgList *analysisIds;
00065   xmlcpgList *databaseIds;
00066 } rnamlObject;
00067 
00072 void rnamlinitObject (rnamlObject *obj);
00073 
00079 rnamlObject* rnamlclone (const rnamlObject *obj);
00080 
00085 void rnamldelete (rnamlObject *obj);
00086 
00091 void rnamldeleteObject (rnamlObject *obj);
00092 
00098 int rnamlisObject (const rnamlObject *obj);
00099 
00106 rnamlObject* rnamlassignObject (rnamlObject *left, const rnamlObject *right);
00107 
00114 int rnamlequalsObject (const rnamlObject *left, const rnamlObject *right);
00115 
00122 int rnamlequals (const rnamlObject *left, const rnamlObject *right);
00123 
00130 const char* rnamlgetObjectComment (const rnamlObject *obj);
00131 
00138 void rnamlsetObjectComment (rnamlObject *obj, const char *comment);
00139 
00145 void rnamladdObjectReferenceId (rnamlObject *obj, const char *referenceId);
00146 
00152 xmlcpgList* rnamlgetObjectReferenceIds (rnamlObject *obj);
00153 
00160 char* rnamlgetObjectReferenceIdsString (const rnamlObject *obj);
00161 
00167 void rnamladdObjectAnalysisId (rnamlObject *obj, const char *analysisId);
00168 
00174 xmlcpgList* rnamlgetObjectAnalysisIds (rnamlObject *obj);
00175 
00182 char* rnamlgetObjectAnalysisIdsString (const rnamlObject *obj);
00183 
00189 void rnamladdObjectDatabaseId (rnamlObject *obj, const char *databaseId);
00190 
00196 xmlcpgList* rnamlgetObjectDatabaseIds (rnamlObject *obj);
00197 
00204 char* rnamlgetObjectDatabaseIdsString (const rnamlObject *obj);
00205 
00211 void rnamltoXMLObjectAttributes (const rnamlObject *obj, xmlcpgElement *element);
00212 
00219 xmlcpgObject* rnamltoXML (const rnamlObject *obj);
00220 
00221 #endif

Generated on Tue Nov 11 14:59:39 2003 for xmlcpg by doxygen1.2.18