CTR Pia  4.11.3
Game Communication Engine
local_UdsNetworkFactory.h
1 /*---------------------------------------------------------------------------*
2  Project: Pia
3  File: local_UdsNetworkFactory.h
4 
5  Copyright Nintendo. All rights reserved.
6 
7  These coded instructions, statements, and computer programs contain
8  proprietary information of Nintendo of America Inc. and/or Nintendo
9  Company Ltd., and are protected by Federal copyright law. They may
10  not be disclosed to third parties or copied or duplicated in any form,
11  in whole or in part, without the prior written consent of Nintendo.
12  *---------------------------------------------------------------------------*/
13 
14 
15 #pragma once
16 
17 #include <pia/local/local_definitions.h>
18 #include <pia/transport/transport_NetworkFactory.h>
19 #include <pia/local/local_LocalNetworkFactory.h>
20 
21 
22 namespace nn
23 {
24 namespace pia
25 {
26 namespace local
27 {
28 
29 
30 /*!
31  @class nn::pia::local::UdsNetworkFactory
32  @brief This class creates the necessary classes for networks using <tt>LocalNetwork</tt> objects. It implements the factory pattern.
33 
34  @details Setting the <tt>UdsNetworkFactory</tt> class to <tt>@ref nn::pia::transport::Transport</tt> or <tt>@ref nn::pia::session::Session</tt>
35  enables network-related processes (sending and receiving of data, session management, and so on) that are suitable for <tt>LocalNetwork</tt>.
36 
37  @see nn::pia::transport::Transport::Setting, nn::pia::session::Session::Setting
38 
39  @date 2014-03-31 Added support for <tt>LocalNetwork</tt>.
40  @date 2013-04-01 Noted the restriction on using send and receive functions on the <tt>UdsNode</tt> class when using <tt>PiaSession</tt>.
41  @date 2013-03-28 Added the <tt>CreatePacketHandler()</tt> function.
42  @date 2013-03-21 Added the <tt>CreateSignatureSettingStorage()</tt> function.
43  @date 2013-03-14 Added the <tt>CreateCreateMeshJob()</tt> function.
44  @date 2012-11-27 Added the <tt>IsSignatureRequired()</tt> function.
45  @date 2012-10-29 Categorized member functions to improve readability of the API reference.
46  @date 2012-04-06 Initial version.
47 */
49 {
50 public:
51 /*!
52  @name Finish Initialization
53  @{
54 */
55 
56 /*!
57  @brief Instantiates an object with default parameters (default constructor).
58 */
59  UdsNetworkFactory(void);
60 
61 
62 /*!
63  @brief The destructor.
64 */
65  virtual ~UdsNetworkFactory(void);
66 
67 /*!
68  end of Finish Initialization section.
69  @}
70 */
71 
72 /*!
73  @cond PRIVATE
74 */
75 
76 /*!
77  @brief Prints information that is useful for debugging.
78 
79  @param[in] flag Specifies the bitwise OR of trace flags. For more information, see the <tt>@ref TraceFlag</tt> API reference.
80 */
81  virtual void Trace(u64 flag) const;
82 
83 /*!
84  @brief Instantiates an <tt>IMatchmakeSession</tt> object for the session.
85 */
86  virtual session::IMatchmakeSession* CreateMatchmakeSession();
87 
88  virtual u8 GetBrowseSessionInfoListMax() const;
89 
90  virtual nn::pia::session::ISessionInfoList* CreateSessionInfoList(u8 browseSessionInfoListNum);
91 
92 /* For the auto-matchmaking feature. */
93 
94 
95 /*!
96  @endcond
97 */
98 
99 protected:
100 private:
101 };
102 }
103 }
104 } // End of namespace nn::pia::local.
Base class for creating the classes required for a network that uses the LocalNetwork class...
Definition: local_LocalNetworkFactory.h:40
Definition: assert.h:115
This class creates the necessary classes for networks using LocalNetwork objects. It implements the f...
Definition: local_UdsNetworkFactory.h:48
virtual session::ISessionInfoList * CreateSessionInfoList(u8 browseSessionInfoListNum)=0
Instantiates an ISessionInfoList object for the session.
virtual ~UdsNetworkFactory(void)
The destructor.
The interface for the session information list.
Definition: session_ISessionInfoList.h:32
virtual session::IMatchmakeSession * CreateMatchmakeSession()=0
Instantiates an IMatchmakeSession object for the session.
UdsNetworkFactory(void)
Instantiates an object with default parameters (default constructor).