linphone-iphone/wrappers/cpp/class_header.mustache
2017-01-17 15:41:57 +01:00

103 lines
2.7 KiB
Text

/*
Copyright (C) 2017 Belledonne Communications SARL
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef {{define}}
#define {{define}}
{{#includes}}
{{#external}}
#include <{{name}}>
{{/external}}
{{#internal}}
#include "{{name}}.hh"
{{/internal}}
{{/includes}}
{{#_class}}{{#isVcard}}
#include <belcard/belcard.hpp>
{{/isVcard}}{{/_class}}
{{#_class}}{{#isfactory}}
#include "config.hh"
{{/isfactory}}{{/_class}}
#include "linphone/linphonecore.h"
#include "linphone/linphone_tunnel.h"
#include "linphone/linphonecore_utils.h"
#include "linphone/wrapper_utils.h"
namespace linphone {
{{#priorDeclarations}}
class {{{name}}};
{{/priorDeclarations}}
{{#_class}}
class {{className}}: public {{{parentClassName}}} {
{{#friendClasses}}
friend class {{name}};
{{/friendClasses}}
public:
{{#isNotListener}}
{{{className}}}(::belle_sip_object_t *ptr, bool takeRef=true);
{{/isNotListener}}
{{#ismonolistenable}}
void setListener(const std::shared_ptr<{{{listenerClassName}}}> &listener);
{{/ismonolistenable}}
{{#ismultilistenable}}
void addListener(std::shared_ptr<{{{listenerClassName}}}> &listener);
void removeListener(std::shared_ptr<{{{listenerClassName}}}> &listener);
{{/ismultilistenable}}
public:
{{#isfactory}}
std::shared_ptr<Core> createCore(const std::shared_ptr<CoreListener> & cbs, const std::string & configPath, const std::string & factoryConfigPath) const;
std::shared_ptr<Core> createCoreWithConfig(const std::shared_ptr<CoreListener> & cbs, const std::shared_ptr<Config> & config) const;
{{/isfactory}}
{{#isVcard}}
std::shared_ptr<belcard::BelCard> &getVcard();
{{/isVcard}}
{{#methods}}
{{{prototype}}}
{{/methods}}
{{#staticMethods}}
{{{prototype}}}
{{/staticMethods}}
{{#ismultilistenable}}
private:
static {{{cListenerName}}} *createCallbacks(const std::shared_ptr<{{{listenerClassName}}}> &listener);
{{/ismultilistenable}}
{{#islistenable}}
private:
{{#wrapperCbs}}
{{decl}}
{{/wrapperCbs}}
{{/islistenable}}
};
{{/_class}}
};
#endif // {{define}}