/* CD Utils - Control-Debug utilites Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef CDUTILS_M_H #define CDUTILS_M_H #include "cd_core_export.h" #include "cdutils_interface.h" namespace CDUtils { class CD_CORE_EXPORT MInterface: public Interface { PIOBJECT_SUBCLASS(MInterface, Interface); public: MInterface(); PICout operator[](int v) { return createPICout((*s)[v]); } PICout operator[](int v) const { return createPICout((*s)[v]); } PICout operator[](const PIString & name_) { return createPICout((*s)[name_]); } PICout operator[](const PIString & name_) const { return createPICout((*s)[name_]); } PICout operator[](const PIDeque & path_) { return createPICout((*s)[path_]); } PICout operator[](const PIDeque & path_) const { return createPICout((*s)[path_]); } void messageBox(const CDType & m, const PIString & msg); EVENT3(messageReceived, PIDeque, path, int, type, PIString, msg); private: PICout createPICout(const CDType & m) const; }; } // namespace CDUtils extern CD_CORE_EXPORT CDUtils::MInterface M; #endif // CDUTILS_M_H