#ifndef _UMLBASEUSECASE_H #define _UMLBASEUSECASE_H #include "UmlItem.h" #include "anItemKind.h" #include class UmlUseCase; class UmlUseCaseDiagram; // Manage the use cases class UmlBaseUseCase : public UmlItem { public: // returns a new use case named 's' created under 'parent' // // In case it cannot be created (the name is already used or // invalid, 'parent' cannot contain it etc ...) return 0 in C++ // and produce a RuntimeException in Java static UmlUseCase * create(UmlItem * parent, const char * s); // returns the kind of the item virtual anItemKind kind(); // returns the optional associated diagram UmlUseCaseDiagram * associatedDiagram(); // sets the associated diagram, arg may be null to unset it // // On error return FALSE in C++, produce a RuntimeException in Java bool set_AssociatedDiagram(UmlUseCaseDiagram * d); private: UmlUseCaseDiagram * _assoc_diagram; protected: //internal, do NOT use it virtual void read_uml_(); // the constructor, do not call it yourself !!!!!!!!!! UmlBaseUseCase(void * id, const QCString & n) : UmlItem(id, n) {}; }; #endif