Skip to content
Snippets Groups Projects
models.h 934 B
Newer Older
#ifndef MODELS_H
#define MODELS_H

#include "channelmodel.h"
#include "loginmethodsmodel.h"
#include "messagemodel.h"
#include "usermodel.h"

class ChannelModel;
class MessagesModel;
class Models
{
public:
    Models() = delete;
    Models& operator=(const Models&) = delete;

    static UserModel* getUsersModel();
    static LoginMethodsModel* getLoginMethodsModel();
    static ChannelModel* getDirectChannelsModel();
    static ChannelModel* getPublicGroupsModel();
    static ChannelModel* getPrivateGroupsModel();
    static MessagesModel* getMessagesModel();
    static void resetModels();
    static void init();

    ~Models();

private:
    static UserModel *mUserModel;
    static LoginMethodsModel *mLoginMethodsModel;
    static ChannelModel *mDirectChannelsModel;
    static ChannelModel *mPublicGroupsModel;
    static ChannelModel *mPrivateGroupsModel;
    static MessagesModel *mMessagesModel;
};

#endif // MODELS_H