smf/smfservermodule/smfclient/smfpostprovider_p.cpp
author cgandhi
Thu, 05 Aug 2010 16:48:48 +0530
changeset 18 013a02bf2bb0
child 25 a180113055cb
permissions -rw-r--r--
pushing changes for common libs and trace messages
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     1
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     2
 * Copyright (c) 2010 Sasken Communication Technologies Ltd.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     3
 * All rights reserved.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     5
 * under the terms of the "Eclipse Public License v1.0" 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     6
 * which accompanies  this distribution, and is available
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html"
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     8
 *
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
     9
 * Initial Contributors:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    10
 * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    11
 *
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    12
 * Contributors:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    13
 * Manasij Roy, Nalina Hariharan
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    14
 * 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    15
 * Description:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    16
 * Private implementation of SmfPostProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    17
 *
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    18
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    19
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    20
#include <qdebug.h>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    21
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    22
#include "smfpostprovider.h"
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    23
#include "smfpostprovider_p.h"
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    24
#ifdef Q_OS_SYMBIAN
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    25
	#include "smfclientsymbian.h"
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    26
#else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    27
	#include "SmfClientQt.h"
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    28
#endif
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    29
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    30
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    31
SmfPostProviderPrivate::SmfPostProviderPrivate(SmfPostProvider* postProvider)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    32
		: m_postProvider(postProvider)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    33
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    34
#ifdef Q_OS_SYMBIAN
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    35
	//private impl for symbian
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    36
	m_SmfClientPrivate = CSmfClientSymbian::NewL(this);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    37
#endif
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    38
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    39
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    40
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    41
SmfPostProviderPrivate::~SmfPostProviderPrivate()
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    42
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    43
	if(m_SmfClientPrivate)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    44
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    45
		delete m_SmfClientPrivate;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    46
		m_SmfClientPrivate = NULL;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    47
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    48
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    49
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    50
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    51
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    52
 * returns maximum no of chars (unicode) that service provider can post without truncation
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    53
 * negative value means no limit
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    54
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    55
qint32 SmfPostProviderPrivate::maxCharsInPost()
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    56
	{ 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    57
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    58
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    59
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    60
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    61
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    62
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    63
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    64
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    65
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    66
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    67
	//setting max size to 10
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    68
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    69
	QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    70
			SmfPostGetMaxCharsInPost, 10, m_serializedDataToServer);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    71
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    72
	//De-serialize it into qint32
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    73
	QDataStream reader(&data,QIODevice::ReadOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    74
	qint32 val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    75
	reader>>val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    76
	return val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    77
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    78
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    79
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    80
 * returns maximum no of items that can be returned in a single query to getPosts
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    81
 * negative value means feature not supported.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    82
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    83
qint32 SmfPostProviderPrivate::maxItems()
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    84
	{ 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    85
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    86
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    87
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    88
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    89
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    90
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    91
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    92
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    93
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    94
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    95
	//setting max size to 10
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    96
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    97
	QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    98
			SmfPostGetMaxItems, 10, m_serializedDataToServer);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
    99
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   100
	//De-serialize it into qint32
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   101
	QDataStream reader(&data,QIODevice::ReadOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   102
	qint32 val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   103
	reader>>val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   104
	return val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   105
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   106
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   107
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   108
 * returns all the formatting of posts that this service provider supports.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   109
 * May return 0 items to mean only QString is supported.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   110
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   111
QVector<QTextFormat> SmfPostProviderPrivate::supportedFormats ()
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   112
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   113
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   114
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   115
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   116
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   117
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   118
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   119
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   120
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   121
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   122
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   123
	//ToDo :- Setting maxsize to 1000
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   124
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   125
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   126
	QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   127
			SmfPostGetSupportedFormats, 1000, m_serializedDataToServer);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   128
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   129
	//De-serialize it into QVector<QTextFormat>
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   130
	QDataStream reader(&data,QIODevice::ReadOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   131
	QVector<QTextFormat> val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   132
	reader>>val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   133
	return val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   134
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   135
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   136
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   137
 * returns whether this SP supports Appearence @see SmfAppearenceInfo
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   138
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   139
bool SmfPostProviderPrivate::supportsAppearence ()
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   140
	{ 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   141
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   142
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   143
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   144
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   145
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   146
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   147
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   148
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   149
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   150
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   151
	//we are not mentioning the max size, as we'll receive only bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   152
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   153
	QByteArray data = m_SmfClientPrivate->sendSyncRequest(intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   154
			SmfPostGetAppearanceSupport, 10, m_serializedDataToServer);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   155
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   156
	//De-serialize it into bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   157
	QDataStream reader(&data,QIODevice::ReadOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   158
	bool val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   159
	reader>>val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   160
	return val;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   161
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   162
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   163
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   164
 * Gets the posts asynchronously. The signal postsAvailable()with SmfPostList is emitted
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   165
 * once the post lists are available
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   166
 * @param user user's contact in this SP, omit for self contact
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   167
 * @param pageNum Page number to download, SMF_FIRST_PAGE denotes fresh query.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   168
 * @param perPage Item per page, default is SMF_ITEMS_PER_PAGE 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   169
 * @see postsAvailable()
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   170
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   171
void SmfPostProviderPrivate::posts(SmfContact* user ,int pageNum,int perPage)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   172
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   173
	//We need to pass Opcode and SmfProvider+SmfContact (when user is not NULL) serialized into bytearray 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   174
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   175
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   176
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   177
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   178
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   179
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   180
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   181
	if(user)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   182
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   183
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   184
		write<<*user;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   185
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   186
	else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   187
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   188
		m_argFlag = 0;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   189
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   190
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   191
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   192
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   193
	write<<pageNum;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   194
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   195
	write<<perPage;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   196
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   197
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   198
	int maxAllocation = MaxSmfPostSize*perPage;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   199
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   200
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   201
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   202
			SmfContactRetrievePosts, maxAllocation);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   203
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   204
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   205
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   206
 * Updates a post to own area, the success of the post can be checked with signal
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   207
 * updatePostFinished() signal
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   208
 * @param postData data to be posted
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   209
 * @param location location data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   210
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   211
void SmfPostProviderPrivate::post(SmfPost& postData,SmfLocation& location) 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   212
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   213
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   214
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   215
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   216
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   217
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   218
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   219
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   220
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   221
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   222
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   223
	write<<postData;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   224
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   225
	write<<location;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   226
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   227
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   228
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   229
	//we are not mentioning the max size, as we'll receive only bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   230
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   231
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   232
			SmfContactPost, 10);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   233
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   234
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   235
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   236
 * Updates the last post to own area with new data, the success of the post can be checked with signal
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   237
 * updatePostFinished() signal
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   238
 * @param postData edited/new data to be posted
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   239
 * @param location location data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   240
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   241
void SmfPostProviderPrivate::updatePost(SmfPost& postData)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   242
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   243
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   244
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   245
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   246
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   247
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   248
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   249
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   250
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   251
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   252
	write<<postData;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   253
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   254
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   255
	//we are not mentioning the max size, as we'll receive only bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   256
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   257
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   258
			SmfContactUpdatePost, 10);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   259
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   260
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   261
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   262
 * Updates a post to a particular Smf contact. the success of the post can be checked with signal
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   263
 * updatePostFinished() signal.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   264
 * @param postData data to be posted
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   265
 * @param contact contact to which the post is to be directed
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   266
 * @param location location data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   267
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   268
void SmfPostProviderPrivate::postDirected(SmfPost& postData,SmfContact& contact,SmfLocation* location)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   269
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   270
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   271
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   272
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   273
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   274
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   275
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   276
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   277
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   278
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   279
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   280
	write<<postData;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   281
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   282
	write<<contact;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   283
	if(location)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   284
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   285
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   286
		write<<*location;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   287
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   288
	else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   289
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   290
		m_argFlag = 0;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   291
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   292
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   293
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   294
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   295
	//we are not mentioning the max size, as we'll receive only bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   296
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   297
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   298
			SmfContactPostDirected, 10);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   299
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   300
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   301
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   302
 * Method to post a comment on a post.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   303
 * @param aTarget Post on which comment has to be posted
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   304
 * @param aComment comment to be posted
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   305
 * @param aLocation location data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   306
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   307
void SmfPostProviderPrivate::commentOnAPost( SmfPost &aTarget, SmfPost &aComment, 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   308
		SmfLocation *aLocation)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   309
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   310
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   311
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   312
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   313
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   314
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   315
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   316
	//SmfProvider
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   317
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   318
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   319
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   320
	write<<aTarget;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   321
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   322
	write<<aComment;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   323
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   324
	if(aLocation)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   325
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   326
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   327
		write<<*aLocation;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   328
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   329
	else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   330
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   331
		m_argFlag = 0;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   332
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   333
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   334
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   335
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   336
	//we are not mentioning the max size, as we'll receive only bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   337
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   338
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   339
			SmfContactCommentOnAPost, 10);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   340
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   341
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   342
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   343
 * Posts appearance info of the user.e.g. appear offline, busy, do-not-disturb
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   344
 * @param appearence user appearance
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   345
 * @see SmfPresenceInfo
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   346
 * @return False on Failure/Not supported 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   347
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   348
bool SmfPostProviderPrivate::postAppearence(SmfAppearenceInfo appearence,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   349
		const QString &status)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   350
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   351
	//TODO:-How to return "supported" value? should it be synchronous?
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   352
	//Currently doing it asynchronously with the assumption of always supported
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   353
	//TODO:- implement some signal completion API
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   354
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   355
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   356
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   357
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   358
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   359
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   360
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   361
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   362
	write<<appearence;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   363
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   364
	write<<status;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   365
		
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   366
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   367
	//we are not mentioning the max size, as we'll receive only bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   368
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   369
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   370
			SmfContactPostAppearence, 10);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   371
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   372
	return true;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   373
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   374
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   375
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   376
 * Share a contact's post to user's friends and followers (e.g. retweet in twitter, share on facebook)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   377
 * emits updatePostFinished() signal when done.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   378
 * @param postData data to be posted
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   379
 * @param contact contact to which the post belonged
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   380
 * @param bool whether user changed items within the post
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   381
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   382
void SmfPostProviderPrivate::sharePost(SmfPost& postData,SmfContact& contact,bool edited)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   383
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   384
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   385
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   386
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   387
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   388
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   389
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   390
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   391
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   392
	write<<postData;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   393
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   394
	write<<contact;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   395
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   396
	write<<edited;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   397
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   398
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   399
	//we are not mentioning the max size, as we'll receive only bool
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   400
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   401
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   402
			SmfContactSharePost, 10);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   403
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   404
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   405
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   406
 * Request for a custom operation. The signal customDataAvailable() is emitted 
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   407
 * when the result is available.
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   408
 * @param operationId OperationId
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   409
 * @param customData Custom data to be sent
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   410
 * Note:-Interpretation of operationId and customData is upto the concerned
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   411
 * plugin and client application. service provider should provide some
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   412
 * serializing-deserializing utilities for these custom data
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   413
 */
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   414
void SmfPostProviderPrivate::customRequest ( const int& operationId, QByteArray* customData )
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   415
	{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   416
	SmfProvider* m_baseProvider = m_postProvider->getProvider();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   417
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   418
	//serialize start
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   419
	m_serializedDataToServer.clear();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   420
	QDataStream write(&m_serializedDataToServer,QIODevice::WriteOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   421
	write<<*m_baseProvider;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   422
	m_argFlag = 1;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   423
	write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   424
	write<<operationId;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   425
	if(customData)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   426
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   427
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   428
		write<<*customData;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   429
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   430
	else
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   431
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   432
		m_argFlag = 0;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   433
		write<<m_argFlag;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   434
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   435
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   436
	QString intfName(postProviderInterface);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   437
	//ToDo:- How much size to allocate for custo data? keeping MaxSmfPostSize for now
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   438
	int maxAllocation = MaxSmfPostSize;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   439
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   440
	//call private impl's send method
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   441
	m_SmfClientPrivate->sendRequest(m_serializedDataToServer, intfName,
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   442
			SmfContactPostCustomRequest, maxAllocation);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   443
	}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   444
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   445
/**
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   446
* From smfobserver
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   447
*/
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   448
void SmfPostProviderPrivate::resultsAvailable(QByteArray result,SmfRequestTypeID opcode,SmfError error)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   449
   {
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   450
	qDebug()<<"Inside SmfPostProviderPrivate::resultsAvailable()";
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   451
	qDebug()<<"opcode = "<<opcode;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   452
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   453
	QDataStream reader(&result,QIODevice::ReadOnly);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   454
	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   455
	//Now de-serialize it based on opcode
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   456
	switch(opcode)
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   457
		{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   458
		case SmfContactRetrievePosts:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   459
			{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   460
			SmfPostList* m_postList = new SmfPostList;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   461
			reader>>*(m_postList);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   462
			
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   463
			qDebug()<<"postList.count="<<m_postList->count();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   464
			
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   465
			//not incorporating paging now
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   466
			SmfResultPage page;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   467
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   468
			emit m_postProvider->postsAvailable(m_postList,error,page);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   469
			}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   470
			break;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   471
			
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   472
		case SmfContactPost:	
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   473
		case SmfContactUpdatePost:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   474
		case SmfContactPostDirected:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   475
		case SmfContactCommentOnAPost:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   476
		case SmfContactPostAppearence:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   477
		case SmfContactSharePost:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   478
			{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   479
			int errInt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   480
			reader>>errInt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   481
			qDebug()<<"success = "<<errInt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   482
			SmfError success = (SmfError)errInt;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   483
			emit m_postProvider->postFinished(success);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   484
			}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   485
			break;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   486
			
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   487
		case SmfContactPostCustomRequest:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   488
   			{
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   489
   			int operationId;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   490
   			QByteArray *data = new QByteArray;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   491
   			reader>>operationId;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   492
   			reader>>*data;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   493
   			qDebug()<<"operationId = "<<operationId;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   494
   			qDebug()<<"data size = "<<data->size();
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   495
   			emit m_postProvider->customDataAvailable(operationId, data);
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   496
   			}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   497
   			break;
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   498
			
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   499
		default:
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   500
			Q_ASSERT_X(1,"PostProvider Private Unknown opcode","default case");
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   501
		}
013a02bf2bb0 pushing changes for common libs and trace messages
cgandhi
parents:
diff changeset
   502
   }