Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
text.cpp 10.05 KiB
/****************************************************************************
* Copyright (C) 2015-2016 by Savoir-faire Linux *
* Author : Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> *
* *
* This library 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 2.1 of the License, or (at your option) any later version. *
* *
* This library 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 General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "text.h"
//Dring
#include <media_const.h>
#include "dbus/callmanager.h"
#include "dbus/configurationmanager.h"
//Ring
#include <call.h>
#include <callmodel.h>
#include <account.h>
#include <person.h>
#include <contactmethod.h>
#include <mime.h>
#include <media/textrecording.h>
#include <media/recordingmodel.h>
#include <phonedirectorymodel.h>
#include <private/call_p.h>
#include <private/vcardutils.h>
#include <private/textrecording_p.h>
#include <private/imconversationmanagerprivate.h>
#include <accountmodel.h>
#include <personmodel.h>
/*
* Instant message have 3 major modes, "past", "in call" and "offline"
*
* Offline messages are currently implemented over the DHT and may eventually
* be implemented over account registration (publish--subscribe)
*
* In call messages are the fastest as they have a communication channels of their
* own.
*
* Past messages are local copy of past communication stored somewhere.
*
* All 3 sources have to be combined dynamically into a single stream per person.
*
* So chunks can come from all 3 sources for the same stream, including part that
* are shared in a conference with multiple peers.
*/
class MediaTextPrivate
{
public:
MediaTextPrivate(Media::Text* parent);
//Attributes
Media::TextRecording* m_pRecording;
bool m_HasChecked;
QHash<QString,bool> m_hMimeTypes;
QStringList m_lMimeTypes;
//Helper