瀏覽代碼

private protected不在定义为public, test如果要访问私有成员,使用友元类

tanghai 14 年之前
父節點
當前提交
8571ca16a6

+ 5 - 5
Cpp/CMakeLists.txt

@@ -63,11 +63,11 @@ MESSAGE(STATUS "${ThirdPartyLibs}")
 
 IF(MSVC)
 	SET(CMAKE_CXX_FLAGS_DEBUG "/MTd")
-	SET(LINK_FLAGS "${LINK_FLAGS} /NODEFAULTLIB:libc.lib")
-	SET(LINK_FLAGS "${LINK_FLAGS} /NODEFAULTLIB:libcmt.lib")
-	SET(LINK_FLAGS "${LINK_FLAGS} /NODEFAULTLIB:msvcrt.lib")
-	SET(LINK_FLAGS "${LINK_FLAGS} /NODEFAULTLIB:libcd.lib")
-	SET(LINK_FLAGS "${LINK_FLAGS} /NODEFAULTLIB:libcmtd.lib")
+	SET(CMAKE_LINK_FLAGS "${CMAKE_LINK_FLAGS} /NODEFAULTLIB:libc.lib")
+	SET(CMAKE_LINK_FLAGS "${CMAKE_LINK_FLAGS} /NODEFAULTLIB:libcmt.lib")
+	SET(CMAKE_LINK_FLAGS "${CMAKE_LINK_FLAGS} /NODEFAULTLIB:msvcrt.lib")
+	SET(CMAKE_LINK_FLAGS "${CMAKE_LINK_FLAGS} /NODEFAULTLIB:libcd.lib")
+	SET(CMAKE_LINK_FLAGS "${CMAKE_LINK_FLAGS} /NODEFAULTLIB:libcmtd.lib")
 	ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB -DBOOST_PYTHON_STATIC_LIB )
 ENDIF()
 

+ 0 - 4
Cpp/Platform/Base/Marcos.h

@@ -3,8 +3,4 @@
 
 #define foreach BOOST_FOREACH
 
-#define private public
-
-#define protected public
-
 #endif // BASE_MARCOS_H

+ 1 - 1
Cpp/Platform/Rpc/RpcCommunicator.h

@@ -34,7 +34,7 @@ public:
 
 class RpcCommunicator: public boost::noncopyable
 {
-private:
+protected:
 	bool isStopped;
 	boost::asio::io_service& ioService;
 	boost::asio::ip::tcp::socket socket;

+ 4 - 2
Cpp/Platform/Rpc/RpcServer.h

@@ -12,11 +12,13 @@
 
 namespace Egametang {
 
+typedef boost::unordered_set<RpcSessionPtr> RpcSessionSet;
+typedef boost::unordered_map<std::size_t, MethodInfoPtr> MethodMap;
+
 class RpcServer: public boost::noncopyable, public boost::enable_shared_from_this<RpcServer>
 {
 private:
-	typedef boost::unordered_set<RpcSessionPtr> RpcSessionSet;
-	typedef boost::unordered_map<std::size_t, MethodInfoPtr> MethodMap;
+	friend class RpcServerTest;
 
 	boost::asio::io_service& ioService;
 	boost::asio::ip::tcp::acceptor acceptor;

+ 6 - 1
Cpp/Platform/Rpc/RpcServerTest.cc

@@ -54,6 +54,11 @@ public:
 	virtual ~RpcServerTest()
 	{
 	}
+
+	MethodMap& GetMethodMap(RpcServerPtr server)
+	{
+		return server->methods;
+	}
 };
 
 TEST_F(RpcServerTest, ClientAndServer)
@@ -65,7 +70,7 @@ TEST_F(RpcServerTest, ClientAndServer)
 	RpcServerPtr server(new RpcServer(ioServer, port));
 	// 注册service
 	server->Register(echoSevice);
-	ASSERT_EQ(1U, server->methods.size());
+	ASSERT_EQ(1U, GetMethodMap(server).size());
 
 	RpcClientPtr client(new RpcClient(ioClient, "127.0.0.1", port));
 	EchoService_Stub service(client.get());