1 /** 2 * @file ModifierSpeciesReference.h 3 * @brief Definitions of ModifierSpeciesReference. 4 * @author Ben Bornstein 5 * 6 * 7 * <!-------------------------------------------------------------------------- 8 * This file is part of libSBML. Please visit http://sbml.org for more 9 * information about SBML, and the latest version of libSBML. 10 * 11 * Copyright (C) 2020 jointly by the following organizations: 12 * 1. California Institute of Technology, Pasadena, CA, USA 13 * 2. University of Heidelberg, Heidelberg, Germany 14 * 3. University College London, London, UK 15 * 16 * Copyright (C) 2019 jointly by the following organizations: 17 * 1. California Institute of Technology, Pasadena, CA, USA 18 * 2. University of Heidelberg, Heidelberg, Germany 19 * 20 * Copyright (C) 2013-2018 jointly by the following organizations: 21 * 1. California Institute of Technology, Pasadena, CA, USA 22 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 23 * 3. University of Heidelberg, Heidelberg, Germany 24 * 25 * Copyright (C) 2009-2013 jointly by the following organizations: 26 * 1. California Institute of Technology, Pasadena, CA, USA 27 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 28 * 29 * Copyright (C) 2006-2008 by the California Institute of Technology, 30 * Pasadena, CA, USA 31 * 32 * Copyright (C) 2002-2005 jointly by the following organizations: 33 * 1. California Institute of Technology, Pasadena, CA, USA 34 * 2. Japan Science and Technology Agency, Japan 35 * 36 * This library is free software; you can redistribute it and/or modify it 37 * under the terms of the GNU Lesser General Public License as published by 38 * the Free Software Foundation. A copy of the license agreement is provided 39 * in the file named "LICENSE.txt" included with this software distribution 40 * and also available online as http://sbml.org/software/libsbml/license.html 41 * ------------------------------------------------------------------------ --> 42 * 43 * @class ModifierSpeciesReference 44 * @sbmlbrief{core} A reference to an SBML <em>modifier species</em>. 45 * 46 * Sometimes a species appears in the kinetic rate formula of a reaction 47 * but is itself neither created nor destroyed in that reaction (for 48 * example, because it acts as a catalyst or inhibitor). In SBML, all such 49 * species are simply called @em modifiers without regard to the detailed 50 * role of those species in the model. The Reaction structure provides a 51 * way to express which species act as modifiers in a given reaction. This 52 * is the purpose of the list of modifiers available in Reaction. The list 53 * contains instances of ModifierSpeciesReference structures. 54 * 55 * The ModifierSpeciesReference structure inherits the mandatory attribute 56 * "species" and optional attributes "id" and "name" from the parent class 57 * SimpleSpeciesReference. See the description of SimpleSpeciesReference 58 * for more information about these. 59 * 60 * The value of the "species" attribute must be the identifier of a species 61 * defined in the enclosing Model; this species is designated as a modifier 62 * for the current reaction. A reaction may have any number of modifiers. 63 * It is permissible for a modifier species to appear simultaneously in the 64 * list of reactants and products of the same reaction where it is 65 * designated as a modifier, as well as to appear in the list of reactants, 66 * products and modifiers of other reactions in the model. 67 * 68 */ 69 70 #ifndef ModifierSpeciesReference_h 71 #define ModifierSpeciesReference_h 72 73 74 #include <sbml/common/extern.h> 75 #include <sbml/common/sbmlfwd.h> 76 77 78 #ifdef __cplusplus 79 80 81 #include <string> 82 83 #include <sbml/SimpleSpeciesReference.h> 84 #include <sbml/SBMLVisitor.h> 85 #include <sbml/ListOf.h> 86 87 LIBSBML_CPP_NAMESPACE_BEGIN 88 89 class SBMLNamespaces; 90 91 class LIBSBML_EXTERN ModifierSpeciesReference : public SimpleSpeciesReference 92 { 93 public: 94 95 /** 96 * Creates a new ModifierSpeciesReference using the given SBML @p level and 97 * @p version values. 98 * 99 * @param level an unsigned int, the SBML Level to assign to this 100 * ModifierSpeciesReference. 101 * 102 * @param version an unsigned int, the SBML Version to assign to this 103 * ModifierSpeciesReference. 104 * 105 * @copydetails doc_throw_exception_lv 106 * 107 * @copydetails doc_note_setting_lv 108 */ 109 ModifierSpeciesReference (unsigned int level, unsigned int version); 110 111 112 /** 113 * Creates a new ModifierSpeciesReference using the given SBMLNamespaces 114 * object @p sbmlns. 115 * 116 * @param sbmlns an SBMLNamespaces object. 117 * 118 * @copydetails doc_throw_exception_namespace 119 * 120 * @copydetails doc_note_setting_lv 121 */ 122 ModifierSpeciesReference (SBMLNamespaces* sbmlns); 123 124 125 /** 126 * Destroys this ModifierSpeciesReference. 127 */ 128 virtual ~ModifierSpeciesReference(); 129 130 131 /** @cond doxygenLibsbmlInternal */ 132 /** 133 * Accepts the given SBMLVisitor. 134 * 135 * @param v the SBMLVisitor instance to be used. 136 * 137 * @return the result of calling <code>v.visit()</code>. 138 */ 139 virtual bool accept (SBMLVisitor& v) const; 140 /** @endcond */ 141 142 143 /** 144 * Creates and returns a deep copy of this ModifierSpeciesReference object. 145 * 146 * @return the (deep) copy of this ModifierSpeciesReference object. 147 */ 148 virtual ModifierSpeciesReference* clone () const; 149 150 151 /** 152 * Returns the libSBML type code for this %SBML object. 153 * 154 * @copydetails doc_what_are_typecodes 155 * 156 * @return the SBML type code for this object: 157 * @sbmlconstant{SBML_MODIFIER_SPECIES_REFERENCE, SBMLTypeCode_t} (default). 158 * 159 * @copydetails doc_warning_typecodes_not_unique 160 * 161 * @see getElementName() 162 * @see getPackageName() 163 */ 164 virtual int getTypeCode () const; 165 166 167 /** 168 * Returns the XML element name of this object, which for Species, is 169 * always @c "modifierSpeciesReference". 170 * 171 * @return the name of this element, i.e., @c "modifierSpeciesReference". 172 */ 173 virtual const std::string& getElementName () const; 174 175 176 /** 177 * Predicate returning @c true if 178 * all the required attributes for this ModifierSpeciesReference object 179 * have been set. 180 * 181 * The required attributes for a ModifierSpeciesReference object are: 182 * species 183 * 184 * @return @c true if the required attributes have been set, @c false 185 * otherwise. 186 */ 187 virtual bool hasRequiredAttributes() const ; 188 189 190 191 192 #ifndef SWIG 193 194 195 196 /** @cond doxygenLibsbmlInternal */ 197 198 /** 199 * Returns the value of the "attributeName" attribute of this 200 * ModifierSpeciesReference. 201 * 202 * @param attributeName, the name of the attribute to retrieve. 203 * 204 * @param value, the address of the value to record. 205 * 206 * @copydetails doc_returns_success_code 207 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 208 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 209 */ 210 virtual int getAttribute(const std::string& attributeName, bool& value) 211 const; 212 213 /** @endcond */ 214 215 216 217 /** @cond doxygenLibsbmlInternal */ 218 219 /** 220 * Returns the value of the "attributeName" attribute of this 221 * ModifierSpeciesReference. 222 * 223 * @param attributeName, the name of the attribute to retrieve. 224 * 225 * @param value, the address of the value to record. 226 * 227 * @copydetails doc_returns_success_code 228 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 229 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 230 */ 231 virtual int getAttribute(const std::string& attributeName, int& value) const; 232 233 /** @endcond */ 234 235 236 237 /** @cond doxygenLibsbmlInternal */ 238 239 /** 240 * Returns the value of the "attributeName" attribute of this 241 * ModifierSpeciesReference. 242 * 243 * @param attributeName, the name of the attribute to retrieve. 244 * 245 * @param value, the address of the value to record. 246 * 247 * @copydetails doc_returns_success_code 248 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 249 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 250 */ 251 virtual int getAttribute(const std::string& attributeName, 252 double& value) const; 253 254 /** @endcond */ 255 256 257 258 /** @cond doxygenLibsbmlInternal */ 259 260 /** 261 * Returns the value of the "attributeName" attribute of this 262 * ModifierSpeciesReference. 263 * 264 * @param attributeName, the name of the attribute to retrieve. 265 * 266 * @param value, the address of the value to record. 267 * 268 * @copydetails doc_returns_success_code 269 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 270 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 271 */ 272 virtual int getAttribute(const std::string& attributeName, 273 unsigned int& value) const; 274 275 /** @endcond */ 276 277 278 279 /** @cond doxygenLibsbmlInternal */ 280 281 /** 282 * Returns the value of the "attributeName" attribute of this 283 * ModifierSpeciesReference. 284 * 285 * @param attributeName, the name of the attribute to retrieve. 286 * 287 * @param value, the address of the value to record. 288 * 289 * @copydetails doc_returns_success_code 290 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 291 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 292 */ 293 virtual int getAttribute(const std::string& attributeName, 294 std::string& value) const; 295 296 /** @endcond */ 297 298 299 300 /** @cond doxygenLibsbmlInternal */ 301 302 /** 303 * Returns the value of the "attributeName" attribute of this 304 * ModifierSpeciesReference. 305 * 306 * @param attributeName, the name of the attribute to retrieve. 307 * 308 * @param value, the address of the value to record. 309 * 310 * @copydetails doc_returns_success_code 311 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 312 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 313 */ 314 //virtual int getAttribute(const std::string& attributeName, 315 // const char* value) const; 316 317 /** @endcond */ 318 319 320 321 /** @cond doxygenLibsbmlInternal */ 322 323 /** 324 * Predicate returning @c true if this ModifierSpeciesReference's attribute 325 * "attributeName" is set. 326 * 327 * @param attributeName, the name of the attribute to query. 328 * 329 * @return @c true if this ModifierSpeciesReference's attribute 330 * "attributeName" has been set, otherwise @c false is returned. 331 */ 332 virtual bool isSetAttribute(const std::string& attributeName) const; 333 334 /** @endcond */ 335 336 337 338 /** @cond doxygenLibsbmlInternal */ 339 340 /** 341 * Sets the value of the "attributeName" attribute of this 342 * ModifierSpeciesReference. 343 * 344 * @param attributeName, the name of the attribute to set. 345 * 346 * @param value, the value of the attribute to set. 347 * 348 * @copydetails doc_returns_success_code 349 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 350 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 351 */ 352 virtual int setAttribute(const std::string& attributeName, bool value); 353 354 /** @endcond */ 355 356 357 358 /** @cond doxygenLibsbmlInternal */ 359 360 /** 361 * Sets the value of the "attributeName" attribute of this 362 * ModifierSpeciesReference. 363 * 364 * @param attributeName, the name of the attribute to set. 365 * 366 * @param value, the value of the attribute to set. 367 * 368 * @copydetails doc_returns_success_code 369 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 370 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 371 */ 372 virtual int setAttribute(const std::string& attributeName, int value); 373 374 /** @endcond */ 375 376 377 378 /** @cond doxygenLibsbmlInternal */ 379 380 /** 381 * Sets the value of the "attributeName" attribute of this 382 * ModifierSpeciesReference. 383 * 384 * @param attributeName, the name of the attribute to set. 385 * 386 * @param value, the value of the attribute to set. 387 * 388 * @copydetails doc_returns_success_code 389 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 390 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 391 */ 392 virtual int setAttribute(const std::string& attributeName, double value); 393 394 /** @endcond */ 395 396 397 398 /** @cond doxygenLibsbmlInternal */ 399 400 /** 401 * Sets the value of the "attributeName" attribute of this 402 * ModifierSpeciesReference. 403 * 404 * @param attributeName, the name of the attribute to set. 405 * 406 * @param value, the value of the attribute to set. 407 * 408 * @copydetails doc_returns_success_code 409 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 410 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 411 */ 412 virtual int setAttribute(const std::string& attributeName, 413 unsigned int value); 414 415 /** @endcond */ 416 417 418 419 /** @cond doxygenLibsbmlInternal */ 420 421 /** 422 * Sets the value of the "attributeName" attribute of this 423 * ModifierSpeciesReference. 424 * 425 * @param attributeName, the name of the attribute to set. 426 * 427 * @param value, the value of the attribute to set. 428 * 429 * @copydetails doc_returns_success_code 430 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 431 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 432 */ 433 virtual int setAttribute(const std::string& attributeName, 434 const std::string& value); 435 436 /** @endcond */ 437 438 439 440 /** @cond doxygenLibsbmlInternal */ 441 442 /** 443 * Sets the value of the "attributeName" attribute of this 444 * ModifierSpeciesReference. 445 * 446 * @param attributeName, the name of the attribute to set. 447 * 448 * @param value, the value of the attribute to set. 449 * 450 * @copydetails doc_returns_success_code 451 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 452 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 453 */ 454 //virtual int setAttribute(const std::string& attributeName, const char* 455 // value); 456 457 /** @endcond */ 458 459 460 461 462 /** 463 * Unsets the value of the "attributeName" attribute of this 464 * ModifierSpeciesReference. 465 * 466 * @param attributeName, the name of the attribute to query. 467 * 468 * @copydetails doc_returns_success_code 469 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 470 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 471 */ 472 virtual int unsetAttribute(const std::string& attributeName); 473 474 /** @endcond */ 475 476 477 478 479 #endif /* !SWIG */ 480 481 482 protected: 483 /** @cond doxygenLibsbmlInternal */ 484 /* the validator classes need to be friends to access the 485 * protected constructor that takes no arguments 486 */ 487 friend class Validator; 488 friend class ConsistencyValidator; 489 friend class IdentifierConsistencyValidator; 490 friend class InternalConsistencyValidator; 491 friend class L1CompatibilityValidator; 492 friend class L2v1CompatibilityValidator; 493 friend class L2v2CompatibilityValidator; 494 friend class L2v3CompatibilityValidator; 495 friend class L2v4CompatibilityValidator; 496 friend class MathMLConsistencyValidator; 497 friend class ModelingPracticeValidator; 498 friend class OverdeterminedValidator; 499 friend class SBOConsistencyValidator; 500 friend class UnitConsistencyValidator; 501 502 /** @endcond */ 503 }; 504 505 506 LIBSBML_CPP_NAMESPACE_END 507 508 #endif /* __cplusplus */ 509 510 511 #ifndef SWIG 512 513 LIBSBML_CPP_NAMESPACE_BEGIN 514 BEGIN_C_DECLS 515 516 /** 517 * Creates a new ModifierSpeciesReference_t structure using the given SBML @p level and 518 * @p version values. 519 * 520 * @param level an unsigned int, the SBML level to assign to this 521 * ModifierSpeciesReference_t structure. 522 * 523 * @param version an unsigned int, the SBML version to assign to this 524 * ModifierSpeciesReference_t structure. 525 * 526 * @returns the newly-created ModifierSpeciesReference_t structure, or a null pointer if 527 * an error occurred during construction. 528 * 529 * @copydetails doc_note_setting_lv 530 * 531 * @memberof ModifierSpeciesReference_t 532 */ 533 LIBSBML_EXTERN 534 ModifierSpeciesReference_t * 535 ModifierSpeciesReference_create(unsigned int level, unsigned int version); 536 537 538 /** 539 * Creates a new ModifierSpeciesReference_t structure using the given SBMLNamespaces_t 540 * structure, @p sbmlns. 541 * 542 * @copydetails doc_what_are_sbmlnamespaces 543 * 544 * @param sbmlns an SBMLNamespaces_t structure. 545 * 546 * @returns the newly-created ModifierSpeciesReference_t structure, or a null pointer if 547 * an error occurred during construction. 548 * 549 * @copydetails doc_note_setting_lv 550 * 551 * @memberof ModifierSpeciesReference_t 552 */ 553 LIBSBML_EXTERN 554 ModifierSpeciesReference_t * 555 ModifierSpeciesReference_createWithNS(SBMLNamespaces_t* sbmlns); 556 557 558 /** 559 * Frees the given ModifierSpeciesReference_t structure. 560 * 561 * @param msr the ModifierSpeciesReference_t structure to be freed. 562 * 563 * @memberof ModifierSpeciesReference_t 564 */ 565 LIBSBML_EXTERN 566 void 567 ModifierSpeciesReference_free(ModifierSpeciesReference_t * msr); 568 569 570 /** 571 * Creates a deep copy of the given ModifierSpeciesReference_t structure. 572 * 573 * @param msr the ModifierSpeciesReference_t structure to be copied. 574 * 575 * @returns a (deep) copy of the given ModifierSpeciesReference_t structure, or a null 576 * pointer if a failure occurred. 577 * 578 * @memberof ModifierSpeciesReference_t 579 */ 580 LIBSBML_EXTERN 581 ModifierSpeciesReference_t * 582 ModifierSpeciesReference_clone(ModifierSpeciesReference_t * msr); 583 584 585 /** 586 * Returns the value of the "id" attribute of the given ModifierSpeciesReference_t 587 * structure. 588 * 589 * @param msr the ModifierSpeciesReference_t structure. 590 * 591 * @return the id of this structure. 592 * 593 * @memberof ModifierSpeciesReference_t 594 */ 595 LIBSBML_EXTERN 596 const char * 597 ModifierSpeciesReference_getId(const ModifierSpeciesReference_t * msr); 598 599 600 /** 601 * Returns the value of the "name" attribute of the given ModifierSpeciesReference_t 602 * structure. 603 * 604 * @param msr the ModifierSpeciesReference_t structure. 605 * 606 * @return the name of this structure. 607 * 608 * @memberof ModifierSpeciesReference_t 609 */ 610 LIBSBML_EXTERN 611 const char * 612 ModifierSpeciesReference_getName(const ModifierSpeciesReference_t * msr); 613 614 615 /** 616 * Returns the value of the "species" attribute of the given ModifierSpeciesReference_t 617 * structure. 618 * 619 * @param msr the ModifierSpeciesReference_t structure. 620 * 621 * @return the species of this structure. 622 * 623 * @memberof ModifierSpeciesReference_t 624 */ 625 LIBSBML_EXTERN 626 const char * 627 ModifierSpeciesReference_getSpecies(const ModifierSpeciesReference_t * msr); 628 629 630 /** 631 * Predicate returning @c 1 (true) if the given ModifierSpeciesReference_t structure's "id" 632 * is set. 633 * 634 * @param msr the ModifierSpeciesReference_t structure. 635 * 636 * @return @c 1 (true) if the "id" of this ModifierSpeciesReference_t structure is 637 * set, @c 0 (false) otherwise. 638 * 639 * @memberof ModifierSpeciesReference_t 640 */ 641 LIBSBML_EXTERN 642 int 643 ModifierSpeciesReference_isSetId(const ModifierSpeciesReference_t * msr); 644 645 646 /** 647 * Predicate returning @c 1 (true) if the given ModifierSpeciesReference_t structure's "name" 648 * is set. 649 * 650 * @param msr the ModifierSpeciesReference_t structure. 651 * 652 * @return @c 1 (true) if the "name" of this ModifierSpeciesReference_t structure is 653 * set, @c 0 (false) otherwise. 654 * 655 * @memberof ModifierSpeciesReference_t 656 */ 657 LIBSBML_EXTERN 658 int 659 ModifierSpeciesReference_isSetName(const ModifierSpeciesReference_t * msr); 660 661 662 /** 663 * Predicate returning @c 1 (true) if the given ModifierSpeciesReference_t structure's "species" 664 * is set. 665 * 666 * @param msr the ModifierSpeciesReference_t structure. 667 * 668 * @return @c 1 (true) if the "species" of this ModifierSpeciesReference_t structure is 669 * set, @c 0 (false) otherwise. 670 * 671 * @memberof ModifierSpeciesReference_t 672 */ 673 LIBSBML_EXTERN 674 int 675 ModifierSpeciesReference_isSetSpecies(const ModifierSpeciesReference_t * msr); 676 677 678 /** 679 * Sets the "id" attribute of the given ModifierSpeciesReference_t structure. 680 * 681 * This function copies the string given in @p id. If the string is 682 * a null pointer, this function is equivalent to calling ModifierSpeciesReference_unsetId(). 683 * 684 * @param msr the ModifierSpeciesReference_t structure. 685 * 686 * @param id the string to which the structures "id" attribute should be 687 * set. 688 * 689 * @copydetails doc_returns_success_code 690 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 691 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t} 692 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 693 * 694 * @note Using this function with a null pointer for @p id is equivalent to 695 * unsetting the value of the "id" attribute. 696 * 697 * @memberof ModifierSpeciesReference_t 698 */ 699 LIBSBML_EXTERN 700 int 701 ModifierSpeciesReference_setId(ModifierSpeciesReference_t * msr, const char * id); 702 703 704 /** 705 * Sets the "name" attribute of the given ModifierSpeciesReference_t structure. 706 * 707 * This function copies the string given in @p name. If the string is 708 * a null pointer, this function is equivalent to calling ModifierSpeciesReference_unsetName(). 709 * 710 * @param msr the ModifierSpeciesReference_t structure. 711 * 712 * @param name the string to which the structures "name" attribute should be 713 * set. 714 * 715 * @copydetails doc_returns_success_code 716 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 717 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t} 718 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 719 * 720 * @note Using this function with a null pointer for @p name is equivalent to 721 * unsetting the value of the "name" attribute. 722 * 723 * @memberof ModifierSpeciesReference_t 724 */ 725 LIBSBML_EXTERN 726 int 727 ModifierSpeciesReference_setName(ModifierSpeciesReference_t * msr, const char * name); 728 729 730 /** 731 * Sets the "species" attribute of the given ModifierSpeciesReference_t structure. 732 * 733 * This function copies the string given in @p species. If the string is 734 * a null pointer, this function is equivalent to calling ModifierSpeciesReference_unsetSpecies(). 735 * 736 * @param msr the ModifierSpeciesReference_t structure. 737 * 738 * @param species the string to which the structures "species" attribute should be 739 * set. 740 * 741 * @copydetails doc_returns_success_code 742 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 743 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t} 744 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 745 * 746 * @note Using this function with a null pointer for @p species is equivalent to 747 * unsetting the value of the "species" attribute. 748 * 749 * @memberof ModifierSpeciesReference_t 750 */ 751 LIBSBML_EXTERN 752 int 753 ModifierSpeciesReference_setSpecies(ModifierSpeciesReference_t * msr, const char * species); 754 755 756 /** 757 * Unsets the value of the "id" attribute of the given 758 *ModifierSpeciesReference_t structure. 759 * 760 * @param msr the ModifierSpeciesReference_t structure. 761 * 762 * @copydetails doc_returns_success_code 763 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 764 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 765 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 766 * 767 * @memberof ModifierSpeciesReference_t 768 */ 769 LIBSBML_EXTERN 770 int 771 ModifierSpeciesReference_unsetId(ModifierSpeciesReference_t * msr); 772 773 774 /** 775 * Unsets the value of the "name" attribute of the given 776 *ModifierSpeciesReference_t structure. 777 * 778 * @param msr the ModifierSpeciesReference_t structure. 779 * 780 * @copydetails doc_returns_success_code 781 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 782 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 783 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 784 * 785 * @memberof ModifierSpeciesReference_t 786 */ 787 LIBSBML_EXTERN 788 int 789 ModifierSpeciesReference_unsetName(ModifierSpeciesReference_t * msr); 790 791 792 /** 793 * Unsets the value of the "species" attribute of the given 794 *ModifierSpeciesReference_t structure. 795 * 796 * @param msr the ModifierSpeciesReference_t structure. 797 * 798 * @copydetails doc_returns_success_code 799 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 800 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 801 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 802 * 803 * @memberof ModifierSpeciesReference_t 804 */ 805 LIBSBML_EXTERN 806 int 807 ModifierSpeciesReference_unsetSpecies(ModifierSpeciesReference_t * msr); 808 809 810 /** 811 * Predicate returning @c 1 (true) or @c 0 (false) depending on whether all the required 812 * attributes of the given ModifierSpeciesReference_t structure have been set. 813 * 814 * @param msr the ModifierSpeciesReference_t structure to check. 815 * 816 * @return @c 1 (true) if all the required attributes for this 817 * structure have been defined, @c 0 (false) otherwise. 818 * 819 * @memberof ModifierSpeciesReference_t 820 */ 821 LIBSBML_EXTERN 822 int 823 ModifierSpeciesReference_hasRequiredAttributes(const ModifierSpeciesReference_t * msr); 824 825 826 827 828 END_C_DECLS 829 LIBSBML_CPP_NAMESPACE_END 830 831 #endif /* !SWIG */ 832 #endif /* ModifierSpeciesReference_h */ 833