/**
* DelegateMegaGlobalListener.java
* Delegation pattern for MegaGlobalListener
*
* (c) 2013-2014 by Mega Limited, Auckland, New Zealand
*
* This file is part of the MEGA SDK - Client Access Engine.
*
* Applications using the MEGA API must present a valid application key
* and comply with the the rules set forth in the Terms of Service.
*
* The MEGA SDK is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* @copyright Simplified (2-clause) BSD License.
*
* You should have received a copy of the license along with this
* program.
*/
package nz.mega.sdk;
import java.util.ArrayList;
class DelegateMegaGlobalListener extends MegaGlobalListener
{
MegaApiJava megaApi;
MegaGlobalListenerInterface listener;
DelegateMegaGlobalListener(MegaApiJava megaApi, MegaGlobalListenerInterface listener)
{
this.megaApi = megaApi;
this.listener = listener;
}
MegaGlobalListenerInterface getUserListener()
{
return listener;
}
@Override
public void onUsersUpdate(MegaApi api, MegaUserList userList)
{
if(listener != null)
{
final ArrayList<MegaUser> users = MegaApiJava.userListToArray(userList);
megaApi.runCallback(new Runnable()
{
public void run()
{
listener.onUsersUpdate(megaApi, users);
}
});
}
}
@Override
public void onNodesUpdate(MegaApi api, MegaNodeList nodeList)
{
if(listener != null)
{
final ArrayList<MegaNode> nodes = MegaApiJava.nodeListToArray(nodeList);
megaApi.runCallback(new Runnable()
{
public void run()
{
listener.onNodesUpdate(megaApi, nodes);
}
});
}
}
@Override
public void onReloadNeeded(MegaApi api)
{
if(listener != null)
{
megaApi.runCallback(new Runnable()
{
public void run()
{
listener.onReloadNeeded(megaApi);
}
});
}
}
}