mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
1036 lines
27 KiB
C#
1036 lines
27 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using MicrosoftZuneLibrary;
|
|
|
|
namespace Microsoft.Zune.Messaging
|
|
{
|
|
public class MessagingService : IDisposable
|
|
{
|
|
private static MessagingService m_singletonInstance = null;
|
|
|
|
private unsafe IZuneNetMessaging* m_pMessaging = null;
|
|
|
|
public static bool HasInstance
|
|
{
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
get
|
|
{
|
|
return (byte)((m_singletonInstance != null) ? 1u : 0u) != 0;
|
|
}
|
|
}
|
|
|
|
public static MessagingService Instance
|
|
{
|
|
get
|
|
{
|
|
if (m_singletonInstance == null)
|
|
{
|
|
m_singletonInstance = new MessagingService();
|
|
}
|
|
return m_singletonInstance;
|
|
}
|
|
}
|
|
|
|
private unsafe MessagingService()
|
|
{
|
|
//IL_0008: Expected I, but got I8
|
|
//IL_0011: Expected I, but got I8
|
|
IZuneNetMessaging* pMessaging = null;
|
|
if (Module.GetSingleton((_GUID)Module._GUID_bf368f0d_4743_439c_9142_e487c9534104, (void**)(&pMessaging)) >= 0)
|
|
{
|
|
m_pMessaging = pMessaging;
|
|
}
|
|
}
|
|
|
|
private void _007EMessagingService()
|
|
{
|
|
_0021MessagingService();
|
|
}
|
|
|
|
private unsafe void _0021MessagingService()
|
|
{
|
|
//IL_0017: Expected I, but got I8
|
|
//IL_0020: Expected I, but got I8
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
if (pMessaging != null)
|
|
{
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)pMessaging + 16)))((nint)pMessaging);
|
|
m_pMessaging = null;
|
|
}
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool MessageSetRead(string strMessageUrl)
|
|
{
|
|
//IL_002b: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
fixed (char* strMessageUrlPtr = strMessageUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strMessageUrlPtr;
|
|
try
|
|
{
|
|
long num = *(long*)m_pMessaging + 24;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
result = (byte)((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, int>)(*(ulong*)num))((nint)pMessaging, ptr) >= 0) ? 1u : 0u) != 0;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool MessageDelete(string strMessageUrl)
|
|
{
|
|
//IL_002b: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
fixed (char* strMessageUrlPtr = strMessageUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strMessageUrlPtr;
|
|
try
|
|
{
|
|
long num = *(long*)m_pMessaging + 32;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
result = (byte)((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, int>)(*(ulong*)num))((nint)pMessaging, ptr) >= 0) ? 1u : 0u) != 0;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool AcceptFriend(string strPostUrl)
|
|
{
|
|
//IL_002b: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
fixed (char* strPostUrlPtr = strPostUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strPostUrlPtr;
|
|
try
|
|
{
|
|
long num = *(long*)m_pMessaging + 40;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
result = (byte)((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, int>)(*(ulong*)num))((nint)pMessaging, ptr) >= 0) ? 1u : 0u) != 0;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool RejectFriend(string strPostUrl)
|
|
{
|
|
//IL_002b: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
fixed (char* strPostUrlPtr = strPostUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strPostUrlPtr;
|
|
try
|
|
{
|
|
long num = *(long*)m_pMessaging + 48;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
result = (byte)((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, int>)(*(ulong*)num))((nint)pMessaging, ptr) >= 0) ? 1u : 0u) != 0;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool ManageFriend(FriendAction eAction, string strPostUrl, string strZuneTag)
|
|
{
|
|
//IL_0034: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
fixed (char* strPostUrlPtr = strPostUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strPostUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strZuneTagPtr = strZuneTag.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strZuneTagPtr;
|
|
try
|
|
{
|
|
long num = *(long*)m_pMessaging + 56;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
result = (byte)((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EFriendAction, ushort*, ushort*, int>)(*(ulong*)num))((nint)pMessaging, (EFriendAction)eAction, ptr, ptr2) >= 0) ? 1u : 0u) != 0;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool AddComment(string strPostUrl, string strZuneTag, string strMessage, CommentCallback callback)
|
|
{
|
|
//IL_0061: Expected I, but got I8
|
|
//IL_0061: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
CComPtrNtv_003CIMessagingCallback_003E cComPtrNtv_003CIMessagingCallback_003E;
|
|
*(long*)(&cComPtrNtv_003CIMessagingCallback_003E) = 0L;
|
|
try
|
|
{
|
|
int num;
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EAddCommentCallbackWrapper_002ECreateInstance(callback, (IMessagingCallback**)(&cComPtrNtv_003CIMessagingCallback_003E));
|
|
if (num < 0)
|
|
{
|
|
goto IL_0086;
|
|
}
|
|
}
|
|
fixed (char* strPostUrlPtr = strPostUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strPostUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strZuneTagPtr = strZuneTag.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strZuneTagPtr;
|
|
try
|
|
{
|
|
fixed (char* strMessagePtr = strMessage.ToCharArray())
|
|
{
|
|
ushort* ptr3 = (ushort*)strMessagePtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 112;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr;
|
|
_003F val2 = ptr2;
|
|
_003F val3 = ptr3;
|
|
long num3 = *(long*)(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, ushort*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (ushort*)(nint)val, (ushort*)(nint)val2, (ushort*)(nint)val3, (IMessagingCallback*)num3);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr3 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
if (num < 0)
|
|
{
|
|
goto IL_0086;
|
|
}
|
|
int num4 = 1;
|
|
goto IL_0089;
|
|
IL_0089:
|
|
result = (byte)num4 != 0;
|
|
goto end_IL_0013;
|
|
IL_0086:
|
|
num4 = 0;
|
|
goto IL_0089;
|
|
end_IL_0013:;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIMessagingCallback_003E*, void>)(&Module.CComPtrNtv_003CIMessagingCallback_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIMessagingCallback_003E);
|
|
throw;
|
|
}
|
|
Module.CComPtrNtv_003CIMessagingCallback_003E_002ERelease(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool DeleteComment(string strPostUrl, string strZuneTag, MessagingCallback callback)
|
|
{
|
|
//IL_0058: Expected I, but got I8
|
|
//IL_0058: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
CComPtrNtv_003CIMessagingCallback_003E cComPtrNtv_003CIMessagingCallback_003E;
|
|
*(long*)(&cComPtrNtv_003CIMessagingCallback_003E) = 0L;
|
|
try
|
|
{
|
|
int num;
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EMessagingCallbackWrapper_002ECreateInstance(callback, null, (IMessagingCallback**)(&cComPtrNtv_003CIMessagingCallback_003E));
|
|
if (num < 0)
|
|
{
|
|
goto IL_0073;
|
|
}
|
|
}
|
|
fixed (char* strPostUrlPtr = strPostUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strPostUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strZuneTagPtr = strZuneTag.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strZuneTagPtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 120;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr;
|
|
_003F val2 = ptr2;
|
|
long num3 = *(long*)(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (ushort*)(nint)val, (ushort*)(nint)val2, (IMessagingCallback*)num3);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
if (num < 0)
|
|
{
|
|
goto IL_0073;
|
|
}
|
|
int num4 = 1;
|
|
goto IL_0075;
|
|
IL_0075:
|
|
result = (byte)num4 != 0;
|
|
goto end_IL_0013;
|
|
IL_0073:
|
|
num4 = 0;
|
|
goto IL_0075;
|
|
end_IL_0013:;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIMessagingCallback_003E*, void>)(&Module.CComPtrNtv_003CIMessagingCallback_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIMessagingCallback_003E);
|
|
throw;
|
|
}
|
|
Module.CComPtrNtv_003CIMessagingCallback_003E_002ERelease(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool Compose(string strPostUrl, string strMessage, string strRecipientZuneTags, string strRequestType, IPropertySetMessageData messageData, MessagingCallback callback, object state)
|
|
{
|
|
//IL_0019: Expected I, but got I8
|
|
//IL_0027: Expected I, but got I8
|
|
//IL_008a: Expected I, but got I8
|
|
//IL_00d4: Expected I, but got I8
|
|
bool result = false;
|
|
IMessagingCallback* ptr2;
|
|
int num3;
|
|
if (messageData != null && m_pMessaging != null)
|
|
{
|
|
IMSMediaSchemaPropertySet* ptr = null;
|
|
int num = messageData.GetPropertySet(&ptr);
|
|
ptr2 = null;
|
|
if (num >= 0)
|
|
{
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EMessagingCallbackWrapper_002ECreateInstance(callback, state, &ptr2);
|
|
}
|
|
if (num >= 0)
|
|
{
|
|
fixed (char* strPostUrlPtr = strPostUrl.ToCharArray())
|
|
{
|
|
ushort* ptr3 = (ushort*)strPostUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strMessagePtr = strMessage.ToCharArray())
|
|
{
|
|
ushort* ptr4 = (ushort*)strMessagePtr;
|
|
try
|
|
{
|
|
fixed (char* strRecipientZuneTagsPtr = strRecipientZuneTags.ToCharArray())
|
|
{
|
|
ushort* ptr5 = (ushort*)strRecipientZuneTagsPtr;
|
|
try
|
|
{
|
|
fixed (char* strRequestTypePtr = strRequestType.ToCharArray())
|
|
{
|
|
ushort* ptr6 = (ushort*)strRequestTypePtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 64;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr3;
|
|
_003F val2 = ptr4;
|
|
_003F val3 = ptr5;
|
|
_003F val4 = ptr6;
|
|
IMSMediaSchemaPropertySet* intPtr = ptr;
|
|
IMessagingCallback* intPtr2 = ptr2;
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, ushort*, ushort*, IMSMediaSchemaPropertySet*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (ushort*)(nint)val, (ushort*)(nint)val2, (ushort*)(nint)val3, (ushort*)(nint)val4, intPtr, intPtr2);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr6 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr5 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr4 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr3 = null;
|
|
throw;
|
|
}
|
|
}
|
|
if (num >= 0)
|
|
{
|
|
num3 = 1;
|
|
goto IL_00bd;
|
|
}
|
|
}
|
|
}
|
|
num3 = 0;
|
|
goto IL_00bd;
|
|
}
|
|
goto IL_00d5;
|
|
IL_00bd:
|
|
result = (byte)num3 != 0;
|
|
if (ptr2 != null)
|
|
{
|
|
IMessagingCallback* intPtr3 = ptr2;
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)intPtr3 + 16)))((nint)intPtr3);
|
|
}
|
|
goto IL_00d5;
|
|
IL_00d5:
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool Compose(string strPostUrl, string strMessage, MessagingCallback callback, object state)
|
|
{
|
|
//IL_0059: Expected I, but got I8
|
|
//IL_0059: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
CComPtrNtv_003CIMessagingCallback_003E cComPtrNtv_003CIMessagingCallback_003E;
|
|
*(long*)(&cComPtrNtv_003CIMessagingCallback_003E) = 0L;
|
|
try
|
|
{
|
|
int num;
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EMessagingCallbackWrapper_002ECreateInstance(callback, state, (IMessagingCallback**)(&cComPtrNtv_003CIMessagingCallback_003E));
|
|
if (num < 0)
|
|
{
|
|
goto IL_0074;
|
|
}
|
|
}
|
|
fixed (char* strPostUrlPtr = strPostUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strPostUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strMessagePtr = strMessage.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strMessagePtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 72;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr;
|
|
_003F val2 = ptr2;
|
|
long num3 = *(long*)(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (ushort*)(nint)val, (ushort*)(nint)val2, (IMessagingCallback*)num3);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
if (num < 0)
|
|
{
|
|
goto IL_0074;
|
|
}
|
|
int num4 = 1;
|
|
goto IL_0076;
|
|
IL_0076:
|
|
result = (byte)num4 != 0;
|
|
goto end_IL_0013;
|
|
IL_0074:
|
|
num4 = 0;
|
|
goto IL_0076;
|
|
end_IL_0013:;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIMessagingCallback_003E*, void>)(&Module.CComPtrNtv_003CIMessagingCallback_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIMessagingCallback_003E);
|
|
throw;
|
|
}
|
|
Module.CComPtrNtv_003CIMessagingCallback_003E_002ERelease(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool ManageFavorites(FavoritesAction eAction, string strFavoritesUrl, string strInstructions, MessagingCallback callback, object state)
|
|
{
|
|
//IL_0011: Expected I, but got I8
|
|
//IL_0058: Expected I, but got I8
|
|
//IL_008c: Expected I, but got I8
|
|
bool result = false;
|
|
IMessagingCallback* ptr;
|
|
int num3;
|
|
if (m_pMessaging != null)
|
|
{
|
|
ptr = null;
|
|
int num;
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EMessagingCallbackWrapper_002ECreateInstance(callback, state, &ptr);
|
|
if (num < 0)
|
|
{
|
|
goto IL_0074;
|
|
}
|
|
}
|
|
fixed (char* strFavoritesUrlPtr = strFavoritesUrl.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strFavoritesUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strInstructionsPtr = strInstructions.ToCharArray())
|
|
{
|
|
ushort* ptr3 = (ushort*)strInstructionsPtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 80;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr2;
|
|
_003F val2 = ptr3;
|
|
IMessagingCallback* intPtr = ptr;
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, EFavoritesAction, ushort*, ushort*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (EFavoritesAction)eAction, (ushort*)(nint)val, (ushort*)(nint)val2, intPtr);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr3 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
if (num < 0)
|
|
{
|
|
goto IL_0074;
|
|
}
|
|
num3 = 1;
|
|
goto IL_0077;
|
|
}
|
|
goto IL_008d;
|
|
IL_0077:
|
|
result = (byte)num3 != 0;
|
|
if (ptr != null)
|
|
{
|
|
IMessagingCallback* intPtr2 = ptr;
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)intPtr2 + 16)))((nint)intPtr2);
|
|
}
|
|
goto IL_008d;
|
|
IL_0074:
|
|
num3 = 0;
|
|
goto IL_0077;
|
|
IL_008d:
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool ManageProfile(string strProfileUrl, string strFieldValue, MessagingCallback callback, object state)
|
|
{
|
|
//IL_0011: Expected I, but got I8
|
|
//IL_0055: Expected I, but got I8
|
|
//IL_0089: Expected I, but got I8
|
|
bool result = false;
|
|
IMessagingCallback* ptr;
|
|
int num3;
|
|
if (m_pMessaging != null)
|
|
{
|
|
ptr = null;
|
|
int num;
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EMessagingCallbackWrapper_002ECreateInstance(callback, state, &ptr);
|
|
if (num < 0)
|
|
{
|
|
goto IL_0071;
|
|
}
|
|
}
|
|
fixed (char* strProfileUrlPtr = strProfileUrl.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strProfileUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strFieldValuePtr = strFieldValue.ToCharArray())
|
|
{
|
|
ushort* ptr3 = (ushort*)strFieldValuePtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 88;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr2;
|
|
_003F val2 = ptr3;
|
|
IMessagingCallback* intPtr = ptr;
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (ushort*)(nint)val, (ushort*)(nint)val2, intPtr);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr3 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
if (num < 0)
|
|
{
|
|
goto IL_0071;
|
|
}
|
|
num3 = 1;
|
|
goto IL_0074;
|
|
}
|
|
goto IL_008a;
|
|
IL_0074:
|
|
result = (byte)num3 != 0;
|
|
if (ptr != null)
|
|
{
|
|
IMessagingCallback* intPtr2 = ptr;
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)intPtr2 + 16)))((nint)intPtr2);
|
|
}
|
|
goto IL_008a;
|
|
IL_0071:
|
|
num3 = 0;
|
|
goto IL_0074;
|
|
IL_008a:
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool ManageProfileImage(string strProfileImageUrl, string strProfileImageResource, MessagingCallback callback, object state)
|
|
{
|
|
//IL_0071: Expected I, but got I8
|
|
//IL_0071: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null && strProfileImageResource != null && strProfileImageUrl != null)
|
|
{
|
|
CComPtrNtv_003CIMessagingCallback_003E cComPtrNtv_003CIMessagingCallback_003E;
|
|
*(long*)(&cComPtrNtv_003CIMessagingCallback_003E) = 0L;
|
|
try
|
|
{
|
|
int num;
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EMessagingCallbackWrapper_002ECreateInstance(callback, state, (IMessagingCallback**)(&cComPtrNtv_003CIMessagingCallback_003E));
|
|
if (num < 0)
|
|
{
|
|
goto IL_008c;
|
|
}
|
|
}
|
|
fixed (char* strProfileImageUrlPtr = strProfileImageUrl.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)strProfileImageUrlPtr;
|
|
try
|
|
{
|
|
fixed (char* strProfileImageResourcePtr = strProfileImageResource.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strProfileImageResourcePtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 96;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr;
|
|
_003F val2 = ptr2;
|
|
long num3 = *(long*)(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (ushort*)(nint)val, (ushort*)(nint)val2, (IMessagingCallback*)num3);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
if (num < 0)
|
|
{
|
|
goto IL_008c;
|
|
}
|
|
int num4 = 1;
|
|
goto IL_008e;
|
|
IL_008e:
|
|
result = (byte)num4 != 0;
|
|
goto end_IL_002b;
|
|
IL_008c:
|
|
num4 = 0;
|
|
goto IL_008e;
|
|
end_IL_002b:;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIMessagingCallback_003E*, void>)(&Module.CComPtrNtv_003CIMessagingCallback_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIMessagingCallback_003E);
|
|
throw;
|
|
}
|
|
Module.CComPtrNtv_003CIMessagingCallback_003E_002ERelease(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool ManageProfileImage(string strProfileImageUrl, SafeBitmap profileImage, MessagingCallback callback, object state)
|
|
{
|
|
//IL_006f: Expected I, but got I8
|
|
//IL_0090: Expected I, but got I8
|
|
//IL_0090: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null && profileImage != null && strProfileImageUrl != null)
|
|
{
|
|
int num = 0;
|
|
CComPtrNtv_003CIMessagingCallback_003E cComPtrNtv_003CIMessagingCallback_003E;
|
|
*(long*)(&cComPtrNtv_003CIMessagingCallback_003E) = 0L;
|
|
try
|
|
{
|
|
if (callback != null)
|
|
{
|
|
num = Module.Microsoft_002EZune_002EMessaging_002EMessagingCallbackWrapper_002ECreateInstance(callback, state, (IMessagingCallback**)(&cComPtrNtv_003CIMessagingCallback_003E));
|
|
}
|
|
bool success = false;
|
|
int num4;
|
|
if (num >= 0)
|
|
{
|
|
profileImage.DangerousAddRef(ref success);
|
|
num = ((!success) ? (-2147467259) : num);
|
|
if (num >= 0)
|
|
{
|
|
fixed (char* strProfileImageUrlPtr = strProfileImageUrl.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)strProfileImageUrlPtr;
|
|
try
|
|
{
|
|
HBITMAP* ptr = (HBITMAP*)(int)profileImage.DangerousGetHandle();
|
|
long num2 = *(long*)m_pMessaging + 104;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
_003F val = ptr2;
|
|
long num3 = *(long*)(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
num = ((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, HBITMAP*, IMessagingCallback*, int>)(*(ulong*)num2))((nint)pMessaging, (ushort*)(nint)val, ptr, (IMessagingCallback*)num3);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
if (success)
|
|
{
|
|
profileImage.DangerousRelease();
|
|
}
|
|
if (num >= 0)
|
|
{
|
|
num4 = 1;
|
|
goto IL_00ad;
|
|
}
|
|
}
|
|
num4 = 0;
|
|
goto IL_00ad;
|
|
IL_00ad:
|
|
result = (byte)num4 != 0;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
Module.___CxxCallUnwindDtor((delegate*<void*, void>)(delegate*<CComPtrNtv_003CIMessagingCallback_003E*, void>)(&Module.CComPtrNtv_003CIMessagingCallback_003E_002E_007Bdtor_007D), &cComPtrNtv_003CIMessagingCallback_003E);
|
|
throw;
|
|
}
|
|
Module.CComPtrNtv_003CIMessagingCallback_003E_002ERelease(&cComPtrNtv_003CIMessagingCallback_003E);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public unsafe string GetInboxPhotoUrl(string title, string collectionName)
|
|
{
|
|
//IL_000d: Expected I, but got I8
|
|
//IL_0042: Expected I, but got I8
|
|
string result = null;
|
|
if (m_pMessaging != null)
|
|
{
|
|
ushort* ptr = null;
|
|
int num = 0;
|
|
fixed (char* titlePtr = title.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)titlePtr;
|
|
try
|
|
{
|
|
fixed (char* collectionNamePtr = collectionName.ToCharArray())
|
|
{
|
|
ushort* ptr3 = (ushort*)collectionNamePtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 152;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
if (((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, ushort**, int*, int>)(*(ulong*)num2))((nint)pMessaging, ptr2, ptr3, &ptr, &num) >= 0 && num != 0)
|
|
{
|
|
result = new string((char*)ptr);
|
|
}
|
|
if (ptr != null)
|
|
{
|
|
Module.SysFreeString(ptr);
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr3 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
public unsafe bool AddInboxPhoto(string title, string collectionName, string localFilePath)
|
|
{
|
|
//IL_0040: Expected I, but got I8
|
|
bool result = false;
|
|
if (m_pMessaging != null)
|
|
{
|
|
fixed (char* titlePtr = title.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)titlePtr;
|
|
try
|
|
{
|
|
fixed (char* collectionNamePtr = collectionName.ToCharArray())
|
|
{
|
|
ushort* ptr2 = (ushort*)collectionNamePtr;
|
|
try
|
|
{
|
|
fixed (char* localFilePathPtr = localFilePath.ToCharArray())
|
|
{
|
|
ushort* ptr3 = (ushort*)localFilePathPtr;
|
|
try
|
|
{
|
|
long num = *(long*)m_pMessaging + 144;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
result = (byte)((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, ushort*, ushort*, int>)(*(ulong*)num))((nint)pMessaging, ptr, ptr2, ptr3) >= 0) ? 1u : 0u) != 0;
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr3 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr2 = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public unsafe int GetInboxDownloadFolderId(string collectionName)
|
|
{
|
|
//IL_0030: Expected I, but got I8
|
|
int num = 0;
|
|
if (m_pMessaging != null)
|
|
{
|
|
fixed (char* collectionNamePtr = collectionName.ToCharArray())
|
|
{
|
|
ushort* ptr = (ushort*)collectionNamePtr;
|
|
try
|
|
{
|
|
long num2 = *(long*)m_pMessaging + 160;
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
num = ((((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, ushort*, int*, int>)(*(ulong*)num2))((nint)pMessaging, ptr, &num) >= 0) ? num : 0);
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
ptr = null;
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
return num;
|
|
}
|
|
|
|
public unsafe void InitiateUploadDeviceCartItems()
|
|
{
|
|
//IL_001c: Expected I, but got I8
|
|
//IL_001c: Expected I, but got I8
|
|
IZuneNetMessaging* pMessaging = m_pMessaging;
|
|
if (pMessaging != null)
|
|
{
|
|
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, IProgressNotify*, int>)(*(ulong*)(*(long*)pMessaging + 136)))((nint)pMessaging, null);
|
|
}
|
|
}
|
|
|
|
protected virtual void Dispose([MarshalAs(UnmanagedType.U1)] bool P_0)
|
|
{
|
|
if (P_0)
|
|
{
|
|
_0021MessagingService();
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
_0021MessagingService();
|
|
}
|
|
finally
|
|
{
|
|
base.Finalize();
|
|
}
|
|
}
|
|
|
|
public sealed override void Dispose()
|
|
{
|
|
Dispose(true);
|
|
GC.SuppressFinalize(this);
|
|
}
|
|
|
|
~MessagingService()
|
|
{
|
|
Dispose(false);
|
|
}
|
|
}
|
|
}
|