Socket.h revision 68a912857707864bbaaff9808717813105072a6e
1/* <auto_header> 2 * <FILENAME> 3 * 4 * INTEL CONFIDENTIAL 5 * Copyright © 2011 Intel 6 * Corporation All Rights Reserved. 7 * 8 * The source code contained or described herein and all documents related to 9 * the source code ("Material") are owned by Intel Corporation or its suppliers 10 * or licensors. Title to the Material remains with Intel Corporation or its 11 * suppliers and licensors. The Material contains trade secrets and proprietary 12 * and confidential information of Intel or its suppliers and licensors. The 13 * Material is protected by worldwide copyright and trade secret laws and 14 * treaty provisions. No part of the Material may be used, copied, reproduced, 15 * modified, published, uploaded, posted, transmitted, distributed, or 16 * disclosed in any way without Intel’s prior express written permission. 17 * 18 * No license under any patent, copyright, trade secret or other intellectual 19 * property right is granted to or conferred upon you by disclosure or delivery 20 * of the Materials, either expressly, by implication, inducement, estoppel or 21 * otherwise. Any license under such intellectual property rights must be 22 * express and approved by Intel in writing. 23 * 24 * AUTHOR: Patrick Benavoli (patrickx.benavoli@intel.com) 25 * CREATED: 2011-06-01 26 * UPDATED: 2011-07-27 27 * 28 * 29 * </auto_header> 30 */ 31#pragma once 32 33#include <string> 34#include <stdint.h> 35 36using namespace std; 37 38struct sockaddr_in; 39struct in_addr; 40 41class CSocket 42{ 43public: 44 CSocket(); 45 CSocket(int iSockId); 46 virtual ~CSocket(); 47 48 // Non blocking state 49 void setNonBlocking(bool bNonBlocking); 50 51 // Communication timeout 52 void setTimeout(uint32_t uiMilliseconds); 53 54 // Read 55 bool read(void* pvData, uint32_t uiSize); 56 // Write 57 bool write(const void* pvData, uint32_t uiSize); 58 59 // Fd 60 int getFd() const; 61protected: 62 // Socket address init 63 void initSockAddrIn(struct sockaddr_in* pSockAddrIn, uint32_t uiInAddr, uint16_t uiPort) const; 64private: 65 int _iSockFd; 66}; 67