plptools
Loading...
Searching...
No Matches
rpcs32.h
Go to the documentation of this file.
1/*
2 * This file is part of plptools.
3 *
4 * Copyright (C) 1999 Philip Proudman <philip.proudman@btinternet.com>
5 * Copyright (C) 1999-2002 Fritz Elfert <felfert@to.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * along with this program; if not, see <https://www.gnu.org/licenses/>.
19 *
20 */
21#pragma once
22
23#include "rpcs.h"
24#include <memory>
25
26class TCPSocket;
27class RPCSFactory;
28
36class RPCS32 : public RPCS {
37 public:
38 Enum<RFSV::errs> getCmdLine(const char *, std::string &);
44 Enum<RFSV::errs> regOpenIter(uint32_t uid, char *match, uint16_t &handle);
45 Enum<RFSV::errs> regReadIter(uint16_t handle);
46 Enum<RFSV::errs> setTime(time_t time);
47#if 0
54#endif
55
56 RPCS32(std::unique_ptr<TCPSocket> socket);
57
58protected:
59 Enum<RFSV::errs> configOpen(uint16_t &, uint32_t);
60};
An array of BufferStores.
Definition: bufferarray.h:30
A generic container for an array of bytes.
Definition: bufferstore.h:36
Wrapper class featuring range-checking and string representation of enumerated values.
Definition: Enum.h:135
This is the implementation of the RPCS protocol for Psion series 5 (EPOC) variant.
Definition: rpcs32.h:36
Enum< RFSV::errs > getCmdLine(const char *, std::string &)
Retrieves the command line of a running process.
Definition: rpcs32.cc:42
Enum< RFSV::errs > closeHandle(uint16_t)
Definition: rpcs32.cc:279
Enum< RFSV::errs > regReadIter(uint16_t handle)
Definition: rpcs32.cc:174
Enum< RFSV::errs > setTime(time_t time)
Definition: rpcs32.cc:191
Enum< RFSV::errs > getOwnerInfo(BufferArray &owner)
Retrieve owner information of the remote machine.
Definition: rpcs32.cc:127
Enum< RFSV::errs > configOpen(uint16_t &, uint32_t)
Prepare scratch RAM in Series 5 for read/write.
Definition: rpcs32.cc:218
Enum< RFSV::errs > regOpenIter(uint32_t uid, char *match, uint16_t &handle)
Definition: rpcs32.cc:155
Enum< RFSV::errs > configRead(uint32_t, BufferStore &)
Read from Series 5 scratch RAM.
Definition: rpcs32.cc:231
Enum< RFSV::errs > configWrite(BufferStore)
Write to Series 5 scratch RAM.
Definition: rpcs32.cc:255
Enum< RFSV::errs > getMachineInfo(machineInfo &)
Retrieve general Information about the connected machine.
Definition: rpcs32.cc:56
A factory for automatically instantiating the correct protocol variant depending on the connected Psi...
Definition: rpcsfactory.h:33
Remote procedure call services via PLP.
Definition: rpcs.h:52
Enum< RFSV::errs > quitServer(void)
Requests the remote server to terminate.
Definition: rpcs.cc:417
virtual Enum< RFSV::errs > regRead(void)
Definition: rpcs.h:388
virtual Enum< RFSV::errs > regDelete(void)
Definition: rpcs.h:392
virtual Enum< RFSV::errs > queryOpen()
Definition: rpcs.h:435
virtual Enum< RFSV::errs > regWrite(void)
Definition: rpcs.h:384
virtual Enum< RFSV::errs > queryRead()
Definition: rpcs.h:439
A class for dealing with sockets.
Definition: tcpsocket.h:37
static BufferStore owner
Definition: main.cc:60
This struct holds the data returned by RPCS::getMachineInfo.
Definition: rpcs.h:121