| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <title>RakNet: RakNet::CloudClient Class Reference</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">RakNet
-  <span id="projectnumber">4.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.2 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="annotated.html"><span>Class List</span></a></li>
- <li><a href="classes.html"><span>Class Index</span></a></li>
- <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
- <li><a href="functions.html"><span>Class Members</span></a></li>
- </ul>
- </div>
- <div id="nav-path" class="navpath">
- <ul>
- <li class="navelem"><a class="el" href="namespaceRakNet.html">RakNet</a></li><li class="navelem"><a class="el" href="classRakNet_1_1CloudClient.html">CloudClient</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#pub-methods">Public Member Functions</a> |
- <a href="#pro-methods">Protected Member Functions</a> |
- <a href="classRakNet_1_1CloudClient-members.html">List of all members</a> </div>
- <div class="headertitle">
- <div class="title">RakNet::CloudClient Class Reference<div class="ingroups"><a class="el" href="group__CLOUD__GROUP.html">CloudComputing</a></div></div> </div>
- </div><!--header-->
- <div class="contents">
- <p>Performs <a class="el" href="classRakNet_1_1CloudClient.html#aa561b024fd2f02c7f19c1cc36cfd2382" title="Uploads data to the cloud.">Post()</a> and <a class="el" href="classRakNet_1_1CloudClient.html#a97bcdfb7e824f979efa7491d3c837204" title="Gets data from the cloud.">Get()</a> operations on CloudMemoryServer.
- <a href="classRakNet_1_1CloudClient.html#details">More...</a></p>
- <p><code>#include <CloudClient.h></code></p>
- <div class="dynheader">
- Inheritance diagram for RakNet::CloudClient:</div>
- <div class="dyncontent">
- <div class="center">
- <img src="classRakNet_1_1CloudClient.png" usemap="#RakNet::CloudClient_map" alt=""/>
- <map id="RakNet::CloudClient_map" name="RakNet::CloudClient_map">
- <area href="classRakNet_1_1PluginInterface2.html" alt="RakNet::PluginInterface2" shape="rect" coords="0,0,150,24"/>
- </map>
- </div></div>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
- Public Member Functions</h2></td></tr>
- <tr class="memitem:a27fd20daa3c333eeaca61ac07a43836a"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a">SetDefaultCallbacks</a> (<a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> *_allocator, <a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> *_callback)</td></tr>
- <tr class="memdesc:a27fd20daa3c333eeaca61ac07a43836a"><td class="mdescLeft"> </td><td class="mdescRight">Set the default callbacks for <a class="el" href="classRakNet_1_1CloudClient.html#a2142bcf4cd9484ee3c3e897d5fde5e55" title="Call this when you get ID_CLOUD_GET_RESPONSE If callback or allocator are 0, the default callbacks pa...">OnGetReponse()</a>, <a class="el" href="classRakNet_1_1CloudClient.html#aefd840feec9d674e2066dd491d61fa62" title="Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If callback or allocator are 0...">OnSubscriptionNotification()</a>, and OnSubscriptionDataDeleted() <a href="#a27fd20daa3c333eeaca61ac07a43836a"></a><br/></td></tr>
- <tr class="separator:a27fd20daa3c333eeaca61ac07a43836a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa561b024fd2f02c7f19c1cc36cfd2382"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#aa561b024fd2f02c7f19c1cc36cfd2382">Post</a> (<a class="el" href="structRakNet_1_1CloudKey.html">CloudKey</a> *cloudKey, const unsigned char *data, uint32_t dataLengthBytes, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> systemIdentifier)</td></tr>
- <tr class="memdesc:aa561b024fd2f02c7f19c1cc36cfd2382"><td class="mdescLeft"> </td><td class="mdescRight">Uploads data to the cloud. <a href="#aa561b024fd2f02c7f19c1cc36cfd2382"></a><br/></td></tr>
- <tr class="separator:aa561b024fd2f02c7f19c1cc36cfd2382"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aae48fdc1ca602cf8d5ac590a66e7cdf1"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#aae48fdc1ca602cf8d5ac590a66e7cdf1">Release</a> (<a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>< <a class="el" href="structRakNet_1_1CloudKey.html">CloudKey</a> > &keys, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> systemIdentifier)</td></tr>
- <tr class="memdesc:aae48fdc1ca602cf8d5ac590a66e7cdf1"><td class="mdescLeft"> </td><td class="mdescRight">Releases one or more data previously uploaded with <a class="el" href="classRakNet_1_1CloudClient.html#aa561b024fd2f02c7f19c1cc36cfd2382" title="Uploads data to the cloud.">Post()</a> <a href="#aae48fdc1ca602cf8d5ac590a66e7cdf1"></a><br/></td></tr>
- <tr class="separator:aae48fdc1ca602cf8d5ac590a66e7cdf1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a97bcdfb7e824f979efa7491d3c837204"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#a97bcdfb7e824f979efa7491d3c837204">Get</a> (<a class="el" href="structRakNet_1_1CloudQuery.html">CloudQuery</a> *cloudQuery, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> systemIdentifier)</td></tr>
- <tr class="memdesc:a97bcdfb7e824f979efa7491d3c837204"><td class="mdescLeft"> </td><td class="mdescRight">Gets data from the cloud. <a href="#a97bcdfb7e824f979efa7491d3c837204"></a><br/></td></tr>
- <tr class="separator:a97bcdfb7e824f979efa7491d3c837204"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab23db4329c42bc13c3fe6015ea83609c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab23db4329c42bc13c3fe6015ea83609c"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#ab23db4329c42bc13c3fe6015ea83609c">Unsubscribe</a> (<a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>< <a class="el" href="structRakNet_1_1CloudKey.html">CloudKey</a> > &keys, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> systemIdentifier)</td></tr>
- <tr class="memdesc:ab23db4329c42bc13c3fe6015ea83609c"><td class="mdescLeft"> </td><td class="mdescRight">Unsubscribe from updates previously subscribed to using <a class="el" href="classRakNet_1_1CloudClient.html#a97bcdfb7e824f979efa7491d3c837204" title="Gets data from the cloud.">Get()</a> with the <a class="el" href="structRakNet_1_1CloudQuery.html#a7c8c441b2801141bbba54946cc9ee4f7" title="If true, automatically get updates as the results returned to you change. Unsubscribe with CloudMemor...">CloudQuery::subscribeToResults</a> set to true The <em>keys</em> and <em>specificSystems</em> parameters are logically treated as AND when checking subscriptions on the server The overload that does not take specificSystems unsubscribes to all passed keys, regardless of system You cannot unsubscribe specific systems when previously subscribed to updates from any system. To do this, first <a class="el" href="classRakNet_1_1CloudClient.html#ab23db4329c42bc13c3fe6015ea83609c" title="Unsubscribe from updates previously subscribed to using Get() with the CloudQuery::subscribeToResults...">Unsubscribe()</a> from all systems, and call <a class="el" href="classRakNet_1_1CloudClient.html#a97bcdfb7e824f979efa7491d3c837204" title="Gets data from the cloud.">Get()</a> with the <em>specificSystems</em> parameter explicilty listing the systems you want to subscribe to. <br/></td></tr>
- <tr class="separator:ab23db4329c42bc13c3fe6015ea83609c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2142bcf4cd9484ee3c3e897d5fde5e55"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#a2142bcf4cd9484ee3c3e897d5fde5e55">OnGetReponse</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> *_callback=0, <a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> *_allocator=0)</td></tr>
- <tr class="memdesc:a2142bcf4cd9484ee3c3e897d5fde5e55"><td class="mdescLeft"> </td><td class="mdescRight">Call this when you get ID_CLOUD_GET_RESPONSE If <em>callback</em> or <em>allocator</em> are 0, the default callbacks passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. <a href="#a2142bcf4cd9484ee3c3e897d5fde5e55"></a><br/></td></tr>
- <tr class="separator:a2142bcf4cd9484ee3c3e897d5fde5e55"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a4fbfeb17194b333d83476eef0fbc281f"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#a4fbfeb17194b333d83476eef0fbc281f">OnGetReponse</a> (CloudQueryResult *cloudQueryResult, <a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> *_allocator=0)</td></tr>
- <tr class="memdesc:a4fbfeb17194b333d83476eef0fbc281f"><td class="mdescLeft"> </td><td class="mdescRight">Call this when you get ID_CLOUD_GET_RESPONSE Different form of OnGetReponse that returns to a structure that you pass, instead of using a callback You are responsible for deallocation with this form If <em>allocator</em> is 0, the default callback passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. <a href="#a4fbfeb17194b333d83476eef0fbc281f"></a><br/></td></tr>
- <tr class="separator:a4fbfeb17194b333d83476eef0fbc281f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aefd840feec9d674e2066dd491d61fa62"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#aefd840feec9d674e2066dd491d61fa62">OnSubscriptionNotification</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> *_callback=0, <a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> *_allocator=0)</td></tr>
- <tr class="memdesc:aefd840feec9d674e2066dd491d61fa62"><td class="mdescLeft"> </td><td class="mdescRight">Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If <em>callback</em> or <em>allocator</em> are 0, the default callbacks passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. <a href="#aefd840feec9d674e2066dd491d61fa62"></a><br/></td></tr>
- <tr class="separator:aefd840feec9d674e2066dd491d61fa62"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a554a5cd02236c60b22ab54020897c722"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#a554a5cd02236c60b22ab54020897c722">OnSubscriptionNotification</a> (bool *wasUpdated, CloudQueryRow *row, <a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> *_allocator=0)</td></tr>
- <tr class="memdesc:a554a5cd02236c60b22ab54020897c722"><td class="mdescLeft"> </td><td class="mdescRight">Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION Different form of OnSubscriptionNotification that returns to a structure that you pass, instead of using a callback You are responsible for deallocation with this form If <em>allocator</em> is 0, the default callback passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. <a href="#a554a5cd02236c60b22ab54020897c722"></a><br/></td></tr>
- <tr class="separator:a554a5cd02236c60b22ab54020897c722"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a48a4b7a6800327507de447275a8c506c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48a4b7a6800327507de447275a8c506c"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#a48a4b7a6800327507de447275a8c506c">DeallocateWithDefaultAllocator</a> (CloudQueryResult *cloudQueryResult)</td></tr>
- <tr class="memdesc:a48a4b7a6800327507de447275a8c506c"><td class="mdescLeft"> </td><td class="mdescRight">If you never specified an allocator, and used the non-callback form of <a class="el" href="classRakNet_1_1CloudClient.html#a2142bcf4cd9484ee3c3e897d5fde5e55" title="Call this when you get ID_CLOUD_GET_RESPONSE If callback or allocator are 0, the default callbacks pa...">OnGetReponse()</a>, deallocate cloudQueryResult with this function. <br/></td></tr>
- <tr class="separator:a48a4b7a6800327507de447275a8c506c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae8c440eaef0705535eb5ea24e2b43493"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8c440eaef0705535eb5ea24e2b43493"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#ae8c440eaef0705535eb5ea24e2b43493">DeallocateWithDefaultAllocator</a> (CloudQueryRow *row)</td></tr>
- <tr class="memdesc:ae8c440eaef0705535eb5ea24e2b43493"><td class="mdescLeft"> </td><td class="mdescRight">If you never specified an allocator, and used the non-callback form of <a class="el" href="classRakNet_1_1CloudClient.html#aefd840feec9d674e2066dd491d61fa62" title="Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If callback or allocator are 0...">OnSubscriptionNotification()</a>, deallocate row with this function. <br/></td></tr>
- <tr class="separator:ae8c440eaef0705535eb5ea24e2b43493"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_methods_classRakNet_1_1PluginInterface2"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classRakNet_1_1PluginInterface2')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classRakNet_1_1PluginInterface2.html">RakNet::PluginInterface2</a></td></tr>
- <tr class="memitem:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a550529f3753c4acf22c3b5c3e203552c"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a550529f3753c4acf22c3b5c3e203552c">OnAttach</a> (void)</td></tr>
- <tr class="memdesc:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft"> </td><td class="mdescRight">Called when the interface is attached. <br/></td></tr>
- <tr class="separator:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73d686ffe9a04a74e5a0ce78422c60f2"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a73d686ffe9a04a74e5a0ce78422c60f2">OnDetach</a> (void)</td></tr>
- <tr class="memdesc:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft"> </td><td class="mdescRight">Called when the interface is detached. <br/></td></tr>
- <tr class="separator:a73d686ffe9a04a74e5a0ce78422c60f2 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9587824d39ac045173442dbbc32051da"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9587824d39ac045173442dbbc32051da">Update</a> (void)</td></tr>
- <tr class="memdesc:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft"> </td><td class="mdescRight">Update is called every time a packet is checked for . <br/></td></tr>
- <tr class="separator:a9587824d39ac045173442dbbc32051da inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14825e69f0560996327e4dd351842c06"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a14825e69f0560996327e4dd351842c06">OnRakPeerStartup</a> (void)</td></tr>
- <tr class="memdesc:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft"> </td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is initialized. <br/></td></tr>
- <tr class="separator:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37c873a1879871722e06acfc45923883"></a>
- virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a37c873a1879871722e06acfc45923883">OnRakPeerShutdown</a> (void)</td></tr>
- <tr class="memdesc:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft"> </td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is shutdown. <br/></td></tr>
- <tr class="separator:a37c873a1879871722e06acfc45923883 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a80c7612ca1a5dcfeec0b52d8049a71ea inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a80c7612ca1a5dcfeec0b52d8049a71ea">OnClosedConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a> lostConnectionReason)</td></tr>
- <tr class="separator:a80c7612ca1a5dcfeec0b52d8049a71ea inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abf13327cc10f772ba06dff8f2687f8ae inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#abf13327cc10f772ba06dff8f2687f8ae">OnNewConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, bool isIncoming)</td></tr>
- <tr class="separator:abf13327cc10f772ba06dff8f2687f8ae inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9504489498df14b6efa5ca9bd39aede4">OnFailedConnectionAttempt</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga3e92f686bace869b78c10508c58e0825">PI2_FailedConnectionAttemptReason</a> failedConnectionAttemptReason)</td></tr>
- <tr class="separator:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer</a> (void) const </td></tr>
- <tr class="separator:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a7a6f69c6fc3a121e3676298a63a9ef78">OnDirectSocketSend</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
- <tr class="separator:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9aac1101ad58e8443516588e96e066ec">OnDirectSocketReceive</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
- <tr class="separator:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#abf51e60546bd74d21c91dc0d6f9f3a4b">OnReliabilityLayerNotification</a> (const char *errorMessage, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, bool isError)</td></tr>
- <tr class="separator:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a399b8c93daa0236599961e754742e2f7">OnInternalPacket</a> (<a class="el" href="structRakNet_1_1InternalPacket.html">InternalPacket</a> *internalPacket, unsigned frameNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time, int isSend)</td></tr>
- <tr class="separator:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#ae0b0cad31cfc209c48197c77d6b46345">OnAck</a> (unsigned int messageNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time)</td></tr>
- <tr class="separator:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a5c976aea56ed85055a17c19d91b90727">OnPushBackPacket</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
- <tr class="separator:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
- Protected Member Functions</h2></td></tr>
- <tr class="memitem:a17e6ca18a786db8612d6c64d82673bd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1CloudClient.html#a17e6ca18a786db8612d6c64d82673bd1">OnReceive</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet)</td></tr>
- <tr class="separator:a17e6ca18a786db8612d6c64d82673bd1"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>Performs <a class="el" href="classRakNet_1_1CloudClient.html#aa561b024fd2f02c7f19c1cc36cfd2382" title="Uploads data to the cloud.">Post()</a> and <a class="el" href="classRakNet_1_1CloudClient.html#a97bcdfb7e824f979efa7491d3c837204" title="Gets data from the cloud.">Get()</a> operations on CloudMemoryServer. </p>
- <p>A <a class="el" href="classRakNet_1_1CloudClient.html" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a> is a computer connected to one or more servers in a cloud configuration. Operations by one <a class="el" href="classRakNet_1_1CloudClient.html" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a> can be received and subscribed to by other instances of <a class="el" href="classRakNet_1_1CloudClient.html" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a>, without those clients being connected, even on different servers. </p>
- </div><h2 class="groupheader">Member Function Documentation</h2>
- <a class="anchor" id="a97bcdfb7e824f979efa7491d3c837204"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual bool RakNet::CloudClient::Get </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1CloudQuery.html">CloudQuery</a> * </td>
- <td class="paramname"><em>cloudQuery</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>systemIdentifier</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Gets data from the cloud. </p>
- <p>For a given query containing one or more keys, return data that matches those keys. The values will be returned in the ID_CLOUD_GET_RESPONSE packet, which should be passed to <a class="el" href="classRakNet_1_1CloudClient.html#a2142bcf4cd9484ee3c3e897d5fde5e55" title="Call this when you get ID_CLOUD_GET_RESPONSE If callback or allocator are 0, the default callbacks pa...">OnGetReponse()</a> and will invoke <a class="el" href="classRakNet_1_1CloudClientCallback.html#a7d5e130174f32b980cb217335945e322" title="Called in response to ID_CLOUD_GET_RESPONSE.">CloudClientCallback::OnGet()</a> <a class="el" href="structRakNet_1_1CloudQuery.html#ae31a898074fcfc16a03ba8b9c20be242" title="If limiting the number of rows to return, this is the starting offset into the list. Has no effect unless maxRowsToReturn is > 0.">CloudQuery::startingRowIndex</a> is used to skip the first n values that would normally be returned.. <a class="el" href="structRakNet_1_1CloudQuery.html#a6810e00768754e88ae1825c6eea6b265" title="Maximum number of rows to return. Actual number may still be less than this. Pass 0 to mean no-limit...">CloudQuery::maxRowsToReturn</a> is used to limit the number of rows returned. The number of rows returned may also be limited by <a class="el" href="classRakNet_1_1CloudServer.html#aa529f108ef92745242ede1fb84d429ca" title="Max bytes returned by a download. If the number of bytes would exceed this amount, the returned list is truncated However, if this would result in no rows downloaded, then one row will be returned.">CloudServer::SetMaxBytesPerDownload()</a>; <a class="el" href="structRakNet_1_1CloudQuery.html#a7c8c441b2801141bbba54946cc9ee4f7" title="If true, automatically get updates as the results returned to you change. Unsubscribe with CloudMemor...">CloudQuery::subscribeToResults</a> if set to true, will cause ID_CLOUD_SUBSCRIPTION_NOTIFICATION to be returned to us when any of the keys in the query are updated or are deleted. ID_CLOUD_GET_RESPONSE will be returned even if subscribing to the result list. Only later updates will return ID_CLOUD_SUBSCRIPTION_NOTIFICATION. Calling <a class="el" href="classRakNet_1_1CloudClient.html#a97bcdfb7e824f979efa7491d3c837204" title="Gets data from the cloud.">Get()</a> with <a class="el" href="structRakNet_1_1CloudQuery.html#a7c8c441b2801141bbba54946cc9ee4f7" title="If true, automatically get updates as the results returned to you change. Unsubscribe with CloudMemor...">CloudQuery::subscribeToResults</a> false, when you are already subscribed, does not remove the subscription. Use <a class="el" href="classRakNet_1_1CloudClient.html#ab23db4329c42bc13c3fe6015ea83609c" title="Unsubscribe from updates previously subscribed to using Get() with the CloudQuery::subscribeToResults...">Unsubscribe()</a> for this. Resubscribing using the same <a class="el" href="structRakNet_1_1CloudKey.html">CloudKey</a> but a different or no <em>specificSystems</em> overwrites the subscribed systems for those keys. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">cloudQuery</td><td>One or more keys, and optional parameters to perform with the Get </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">systemIdentifier</td><td>A remote system running <a class="el" href="classRakNet_1_1CloudServer.html" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</a> that we are already connected to. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">specificSystems</td><td>It is possible to get or subscribe to updates only for specific uploading <a class="el" href="classRakNet_1_1CloudClient.html" title="Performs Post() and Get() operations on CloudMemoryServer.">CloudClient</a> instances. Pass the desired instances here. The overload that does not have the specificSystems parameter is treated as subscribing to all updates from all clients. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a2142bcf4cd9484ee3c3e897d5fde5e55"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void RakNet::CloudClient::OnGetReponse </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> * </td>
- <td class="paramname"><em>packet</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> * </td>
- <td class="paramname"><em>_callback</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> * </td>
- <td class="paramname"><em>_allocator</em> = <code>0</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call this when you get ID_CLOUD_GET_RESPONSE If <em>callback</em> or <em>allocator</em> are 0, the default callbacks passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td><a class="el" href="structRakNet_1_1Packet.html" title="This represents a user message from another system.">Packet</a> structure returned from <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_callback</td><td>Callback to be called from the function containing output parameters. If 0, default is used. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_allocator</td><td>Allocator to be used to allocate data. If 0, default is used. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a4fbfeb17194b333d83476eef0fbc281f"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void RakNet::CloudClient::OnGetReponse </td>
- <td>(</td>
- <td class="paramtype">CloudQueryResult * </td>
- <td class="paramname"><em>cloudQueryResult</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> * </td>
- <td class="paramname"><em>packet</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> * </td>
- <td class="paramname"><em>_allocator</em> = <code>0</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call this when you get ID_CLOUD_GET_RESPONSE Different form of OnGetReponse that returns to a structure that you pass, instead of using a callback You are responsible for deallocation with this form If <em>allocator</em> is 0, the default callback passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[out]</td><td class="paramname">cloudQueryResult</td><td>A pointer to a structure that will be filled out with data </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td><a class="el" href="structRakNet_1_1Packet.html" title="This represents a user message from another system.">Packet</a> structure returned from <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_allocator</td><td>Allocator to be used to allocate data. If 0, default is used. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a17e6ca18a786db8612d6c64d82673bd1"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a> RakNet::CloudClient::OnReceive </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> * </td>
- <td class="paramname"><em>packet</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>OnReceive is called for every packet. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td>the packet that is being returned to the user </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>True to allow the game and other plugins to get this message, false to absorb it </dd></dl>
- <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#aa86f33263c1648f11b8a006469272639">RakNet::PluginInterface2</a>.</p>
- </div>
- </div>
- <a class="anchor" id="aefd840feec9d674e2066dd491d61fa62"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void RakNet::CloudClient::OnSubscriptionNotification </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> * </td>
- <td class="paramname"><em>packet</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> * </td>
- <td class="paramname"><em>_callback</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> * </td>
- <td class="paramname"><em>_allocator</em> = <code>0</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If <em>callback</em> or <em>allocator</em> are 0, the default callbacks passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td><a class="el" href="structRakNet_1_1Packet.html" title="This represents a user message from another system.">Packet</a> structure returned from <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_callback</td><td>Callback to be called from the function containing output parameters. If 0, default is used. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_allocator</td><td>Allocator to be used to allocate data. If 0, default is used. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a554a5cd02236c60b22ab54020897c722"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void RakNet::CloudClient::OnSubscriptionNotification </td>
- <td>(</td>
- <td class="paramtype">bool * </td>
- <td class="paramname"><em>wasUpdated</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">CloudQueryRow * </td>
- <td class="paramname"><em>row</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> * </td>
- <td class="paramname"><em>packet</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> * </td>
- <td class="paramname"><em>_allocator</em> = <code>0</code> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION Different form of OnSubscriptionNotification that returns to a structure that you pass, instead of using a callback You are responsible for deallocation with this form If <em>allocator</em> is 0, the default callback passed to <a class="el" href="classRakNet_1_1CloudClient.html#a27fd20daa3c333eeaca61ac07a43836a" title="Set the default callbacks for OnGetReponse(), OnSubscriptionNotification(), and OnSubscriptionDataDel...">SetDefaultCallbacks()</a> are used. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[out]</td><td class="paramname">wasUpdated</td><td>If true, the row was updated. If false, it was deleted. <em>result</em> will contain the last value just before deletion </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">row</td><td>A pointer to a structure that will be filled out with data </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td><a class="el" href="structRakNet_1_1Packet.html" title="This represents a user message from another system.">Packet</a> structure returned from <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_allocator</td><td>Allocator to be used to allocate data. If 0, default is used. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="aa561b024fd2f02c7f19c1cc36cfd2382"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void RakNet::CloudClient::Post </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1CloudKey.html">CloudKey</a> * </td>
- <td class="paramname"><em>cloudKey</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const unsigned char * </td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>dataLengthBytes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>systemIdentifier</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Uploads data to the cloud. </p>
- <p>Data uploaded to the cloud will be stored by the server sent to, identified by <em>systemIdentifier</em>. As long as you are connected to this server, the data will persist. Queries for that data by the <a class="el" href="classRakNet_1_1CloudClient.html#a97bcdfb7e824f979efa7491d3c837204" title="Gets data from the cloud.">Get()</a> operation will return the <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> and <a class="el" href="structRakNet_1_1SystemAddress.html" title="Network address for a system.">SystemAddress</a> of the uploader, as well as the data itself. Furthermore, if any clients are subscribed to the particular <a class="el" href="structRakNet_1_1CloudKey.html">CloudKey</a> passed, those clients will get update notices that the data has changed Passing data with the same <em>cloudKey</em> more than once will overwrite the prior value. This call will silently fail if <a class="el" href="classRakNet_1_1CloudServer.html#a1bcb42cd6c7dae5d4378b1a715559d68" title="Max bytes a client can upload Data in excess of this value is silently ignored defaults to 0 (unlimit...">CloudServer::SetMaxUploadBytesPerClient()</a> is exceeded </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">cloudKey</td><td>Identifies the data being uploaded </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to data to upload. This pointer does not need to persist past the call </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dataLengthBytes</td><td>The length in bytes of <em>data</em> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">systemIdentifier</td><td>A remote system running <a class="el" href="classRakNet_1_1CloudServer.html" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</a> that we are already connected to. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="aae48fdc1ca602cf8d5ac590a66e7cdf1"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void RakNet::CloudClient::Release </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>< <a class="el" href="structRakNet_1_1CloudKey.html">CloudKey</a> > & </td>
- <td class="paramname"><em>keys</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> </td>
- <td class="paramname"><em>systemIdentifier</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Releases one or more data previously uploaded with <a class="el" href="classRakNet_1_1CloudClient.html#aa561b024fd2f02c7f19c1cc36cfd2382" title="Uploads data to the cloud.">Post()</a> </p>
- <p>If a remote system has subscribed to one or more of the <em>keys</em> uploaded, they will get ID_CLOUD_SUBSCRIPTION_NOTIFICATION notifications containing the last value uploaded before deletions </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">cloudKey</td><td>Identifies the data to release. It is possible to remove uploads from multiple <a class="el" href="classRakNet_1_1CloudClient.html#aa561b024fd2f02c7f19c1cc36cfd2382" title="Uploads data to the cloud.">Post()</a> calls at once. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">systemIdentifier</td><td>A remote system running <a class="el" href="classRakNet_1_1CloudServer.html" title="Stores client data, and allows cross-server communication to retrieve this data.">CloudServer</a> that we are already connected to. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="a27fd20daa3c333eeaca61ac07a43836a"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void RakNet::CloudClient::SetDefaultCallbacks </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> * </td>
- <td class="paramname"><em>_allocator</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> * </td>
- <td class="paramname"><em>_callback</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set the default callbacks for <a class="el" href="classRakNet_1_1CloudClient.html#a2142bcf4cd9484ee3c3e897d5fde5e55" title="Call this when you get ID_CLOUD_GET_RESPONSE If callback or allocator are 0, the default callbacks pa...">OnGetReponse()</a>, <a class="el" href="classRakNet_1_1CloudClient.html#aefd840feec9d674e2066dd491d61fa62" title="Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If callback or allocator are 0...">OnSubscriptionNotification()</a>, and OnSubscriptionDataDeleted() </p>
- <p>Pointers to <a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> and <a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> can be stored by the system if desired. If a callback is not provided to <a class="el" href="classRakNet_1_1CloudClient.html#a2142bcf4cd9484ee3c3e897d5fde5e55" title="Call this when you get ID_CLOUD_GET_RESPONSE If callback or allocator are 0, the default callbacks pa...">OnGetReponse()</a>, <a class="el" href="classRakNet_1_1CloudClient.html#aefd840feec9d674e2066dd491d61fa62" title="Call this when you get ID_CLOUD_SUBSCRIPTION_NOTIFICATION If callback or allocator are 0...">OnSubscriptionNotification()</a>, OnSubscriptionDataDeleted(), the callback passed here will be used instead. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">_allocator</td><td>An instance of <a class="el" href="classRakNet_1_1CloudAllocator.html">CloudAllocator</a> </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">_callback</td><td>An instance of <a class="el" href="classRakNet_1_1CloudClientCallback.html">CloudClientCallback</a> </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>D:/temp/RakNet_PC/Source/<a class="el" href="CloudClient_8h.html">CloudClient.h</a></li>
- </ul>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Mon Jun 2 2014 20:10:28 for RakNet by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.2
- </small></address>
- </body>
- </html>
|