NCL Composer  0.1.5
 All Classes Functions Variables Pages
NCLLanguageProfile.h
1 /* Copyright (c) 2011 Telemidia/PUC-Rio.
2  * All rights reserved. This program and the accompanying materials
3  * are made available under the terms of the Eclipse Public License v1.0
4  * which accompanies this distribution, and is available at
5  * http://www.eclipse.org/legal/epl-v10.html
6  *
7  * Contributors:
8  * Telemidia/PUC-Rio - initial API and implementation
9  */
10 #ifndef NCLLANGUAGEPROFILE_H
11 #define NCLLANGUAGEPROFILE_H
12 
13 #include "NCLLanguageProfile_global.h"
14 #include <core/extensions/ILanguageProfile.h>
15 
16 using namespace composer::extension;
17 
18 namespace composer {
19 namespace language {
20 
21 class NCLLANGUAGEPROFILESHARED_EXPORT NCLLanguageProfile : public QObject,
22  public ILanguageProfile {
23 
24  Q_OBJECT
25  Q_INTERFACES(ILanguageProfile)
26 
27 public:
29  virtual ~NCLLanguageProfile();
30 
31  LanguageType getLanguageType();
32  QString getProfileName();
33  QList<QString> getOutputDocumentTypes();
34 
35  IDocumentParser* createParser(Project *project);
36  void releaseDocumentParser (IDocumentParser *parser);
37 
38  map <QString, map <QString, char> *> *getNesting();
39  map <QString, bool> *getAttributes (QString element);
40  map <QString, char> *getChildren (QString tagname);
41 
42  vector <AttributeReferences *> getReferences(QString element, QString attr);
43 
44 };
45 } } //end namespace
46 #endif // NCLLANGUAGEPROFILE_H