first commit

This commit is contained in:
2026-06-22 11:49:35 +02:00
commit d805f2ba86
619 changed files with 126873 additions and 0 deletions

View File

@ -0,0 +1,73 @@
/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#ifndef __NIONETCLIENT__
#define __NIONETCLIENT__
#include "io_net/io_net_client_worker_thread.h"
#include "memory/nauto_ptr.h"
namespace GS {
namespace IO {
//
class NetHandle : public Handle
{
friend class Net;
int remote_id;
public:
NetHandle(Base *io, int id) : Handle(io), remote_id(id) {}
~NetHandle();
};
/*!
@short Networked I/O client.
@author Emmanuel Julien (ejulien@nworks.fr)
*/
class Net : public Base
{
NetWorkerThread worker;
bool QueueTask(NetWorkerBaseTask &);
public:
virtual uint GetCaps() const;
virtual Handle *Open(const char *, Mode = ModeRead);
virtual void Close(Handle *);
virtual String Hash(const char *uri);
virtual bool Delete(const char *) { return false; }
virtual size_t Tell(Handle *);
virtual size_t Seek(Handle *, ptrdiff_t offset, SeekRef = SeekCurrent);
virtual size_t Read(Handle *, void *, size_t);
virtual size_t Write(Handle *, const void *, size_t) { return 0; }
virtual bool MkDir(const char *) { return false; }
//---------------------------------------------------------------------
bool IsConnected() const;
bool Connect(const char *ip, int port);
void Disconnect();
//---------------------------------------------------------------------
~Net() { Disconnect(); }
};
} // IO
} // GS
#endif // __NIONETCLIENT__