iberbox  2.1.2
iberbox.h
Go to the documentation of this file.
1 
10 #ifndef IBERBOX_H
11 #define IBERBOX_H
12 
13 #include <atomic>
14 #include <memory.h>
15 
16 #include "iberbox/config.h"
17 #include "iberbox/task.h"
18 #include "iberbox/action.h"
19 #include "iberbox/node.h"
20 #include "iberbox/events.h"
21 #include "iberbox/user.h"
22 #include "iberbox/crash.h"
23 
24 #ifdef USE_SCAPIX
25 #include <scapix/bridge/object.h>
26 #endif
27 
32 namespace iberbox {
33 
38 #ifdef USE_SCAPIX
39  : public scapix::bridge::object<IberboxSettings>
40 #endif
41 {
42 public:
57  IberboxSettings(const std::string &workingDirectory);
61  virtual ~IberboxSettings();
62 
67  void setWorkingDirectory(const std::string &path);
72  std::string getWorkingDirectory();
73 
78  void setUserAgent(const std::string &userAgent);
83  std::string getUserAgent();
84 
85 private:
89  std::string mWorkingDirectory;
93  std::string mUserAgent;
94 };
95 
96 #ifdef USE_SCAPIX
97 
100 typedef std::shared_ptr<IberboxSettings> IberboxSettingsType;
101 #else
102 
106 #endif
107 
108 class Loop;
109 class ApiClient;
110 class CallbackDispatcher;
115 class Iberbox
116 #ifdef USE_SCAPIX
117  : public scapix::bridge::object<Iberbox>, public ActionListener
118 #else
119  : public ActionListener
120 #endif
121 {
122 public:
130  {
131  SORT_ORDER_SIZE_R = -6,
137  SORT_ORDER_NONE = 0,
144  SORT_ORDER_LAST
145  };
146 
148  {
149  LOG_LEVEL_TRACE = 0,
150  LOG_LEVEL_DEBUG = 1,
151  LOG_LEVEL_INFO = 2,
152  LOG_LEVEL_WARN = 3,
153  LOG_LEVEL_ERROR = 4,
154  LOG_LEVEL_CRITICAL = 5,
155  LOG_LEVEL_OFF = 6
156  };
157 
159  {
160  AES256_CRYPTO_SCHEME = 0,
161  AES128_CRYPTO_SCHEME = 2
162  };
163 
169  static void globalInit(const std::string &appId, int appVersion);
173  static void globalCleanup();
179  static void enableCrashHandler(std::function<void (std::string, std::string)> callback);
180 
193  static void setLogLevel(int logLevel);
194 
207  static int getLogLevel();
208 
215  Iberbox(TaskManagerType taskManager = nullptr, IberboxSettingsType settings = nullptr);
219  virtual ~Iberbox();
220 
226  int test();
241  void inviteEmail(const std::string &email, ActionListenerType listener = nullptr);
261  void verifyEmail(const std::string &email, const std::string &firstName, const std::string &lastName, ActionListenerType listener = nullptr);
287  void createAccount(const std::string &registrationId, const std::string &name, const std::string &lastName,
288  const std::string &email, const std::string &password,
289  int pin, ActionListenerType listener = nullptr);
316  void createAccountWithCoupon(const std::string &registrationId, const std::string &name, const std::string &lastName,
317  const std::string &email, const std::string &password, int pin, const std::string &coupon,
318  ActionListenerType listener = nullptr);
347  void createAccountWithPlan(const std::string &registrationId, const std::string &name, const std::string &lastName,
348  const std::string &email, const std::string &password, int pin, const std::string &coupon, int planId,
349  ActionListenerType listener = nullptr);
367  void createAccountForCurrentUser(const std::string &coupon, ActionListenerType listener = nullptr);
388  void forgotPassword(const std::string &email, ActionListenerType listener = nullptr);
403  void changePassword(const std::string &password, ActionListenerType listener = nullptr);
417  void getRecoveryKey(ActionListenerType listener = nullptr);
432  void generate2faUrl(ActionListenerType listener = nullptr);
446  void enable2fa(int code, ActionListenerType listener = nullptr);
460  void disable2fa(int code, ActionListenerType listener = nullptr);
483  void login2fa(const std::string &login, const std::string &password, int code, ActionListenerType listener = nullptr);
496  void testRequest(ActionListenerType listener = nullptr);
518  void loginIntoAccount(const std::string &login, const std::string &password, AccountHandle account, ActionListenerType listener = nullptr);
541  void loginIntoAccount2fa(const std::string &login, const std::string &password, int code, AccountHandle accountHandle, ActionListenerType listener = nullptr);
561  void login(const std::string &login, const std::string &password, ActionListenerType listener = nullptr);
575  void checkPassword(const std::string &password, ActionListenerType listener = nullptr);
589  void resumeSession(const std::string &session, ActionListenerType listener = nullptr);
603  void newSession(ActionListenerType listener = nullptr);
620  void newSessionIntoAccount(AccountHandle accountHandle, ActionListenerType listener = nullptr);
638  void recoverAccount(const std::string &recoveryId, const std::string &login, const std::string &recoveryKey, int pin, ActionListenerType listener = nullptr);
658  void recoverAccount2fa(const std::string &recoveryId, const std::string &login, const std::string &recoveryKey, int pin, int code, ActionListenerType listener = nullptr);
659 
672  void deleteAccount(const std::string &reason, ActionListenerType listener = nullptr);
673 
687  void getNodes(ActionListenerType listener = nullptr);
700  void logout(ActionListenerType listener = nullptr);
715  void currentEmail(ActionListenerType listener = nullptr);
735  void getRootNodes(ActionListenerType listener = nullptr);
756  void getRootNode(int type, ActionListenerType listener = nullptr);
770  void getChildren(NodeHandle id, ActionListenerType listener = nullptr);
784  void getChildFiles(NodeHandle id, ActionListenerType listener = nullptr);
798  void getChildFolders(NodeHandle id, ActionListenerType listener = nullptr);
814  void getSortedChildren(NodeHandle id, int sortOrder = SORT_ORDER_DEFAULT, ActionListenerType listener = nullptr);
830  void getSortedChildFiles(NodeHandle id, int sortOrder = SORT_ORDER_DEFAULT, ActionListenerType listener = nullptr);
846  void getSortedChildFolders(NodeHandle id, int sortOrder = SORT_ORDER_DEFAULT, ActionListenerType listener = nullptr);
861  void getNodeById(NodeHandle id, ActionListenerType listener = nullptr);
876  void getNodeByPath(const std::string &path, ActionListenerType listener = nullptr);
891  void getNodePath(NodeHandle id, ActionListenerType listener = nullptr);
907  void createFolder(NodeHandle parent, const std::string &name, ActionListenerType listener = nullptr);
923  void deleteNode(NodeHandle node, ActionListenerType listener = nullptr);
939  void deleteNodePermanently(NodeHandle node, ActionListenerType listener = nullptr);
955  void renameNode(NodeHandle node, const std::string &name, ActionListenerType listener = nullptr);
972  void setNodeTag(NodeHandle node, unsigned char tag, ActionListenerType listener = nullptr);
987  void toggleFolderSync(NodeHandle node, ActionListenerType listener = nullptr);
1004  void moveNode(NodeHandle node, NodeHandle parent, ActionListenerType listener = nullptr);
1023  void copyNode(NodeHandle node, NodeHandle parent, ActionListenerType listener = nullptr);
1037  void getOpenSecrets(ActionListenerType listener = nullptr);
1053  void createSecret(const std::string &name, const std::string &password, ActionListenerType listener = nullptr);
1069  void openSecret(const std::string &name, const std::string &password, ActionListenerType listener = nullptr);
1083  void closeSecret(NodeHandle secretHandle, ActionListenerType listener = nullptr);
1100  void updateSecret(NodeHandle secretHandle, const std::string &name, const std::string &password, ActionListenerType listener = nullptr);
1115  void getSecretRecoveryKey(NodeHandle secretHandle, ActionListenerType listener = nullptr);
1134  void recoverSecret(const std::string &recoveryKey, const std::string &newName, const std::string &newPassword, ActionListenerType listener = nullptr);
1148  void deleteSecret(NodeHandle secretHandle, ActionListenerType listener = nullptr);
1165  void createLink(NodeHandle node, ActionListenerType listener = nullptr);
1166 
1184  void createSharedDriveLink(NodeHandle node, int accessLevel, ActionListenerType listener = nullptr);
1185 
1198  void deleteLink(const std::string &link, ActionListenerType listener = nullptr);
1199 
1215  void getLinkInfo(const std::string &link, ActionListenerType listener = nullptr);
1231  void getUserInfo(ActionListenerType listener = nullptr);
1246  void getPublicUserInfo(UserHandle user, ActionListenerType listener = nullptr);
1262  void getAccountInfo(ActionListenerType listener = nullptr);
1277  void getPublicAccountInfo(AccountHandle account, ActionListenerType listener = nullptr);
1292  void getPublicAccountInfoByLink(const std::string &link, ActionListenerType listener = nullptr);
1316  void setAccountCryptoScheme(int cryptoScheme, ActionListenerType listener = nullptr);
1317 
1336  void setInvoicingAddress(const std::string &companyName, const std::string &companyAddress, const std::string &companyAddress2,
1337  const std::string &companyID, ActionListenerType listener = nullptr);
1351  void getInvoicingInfo(ActionListenerType listener = nullptr);
1366  void downloadInvoice(int invoiceId, const std::string &path, ActionListenerType listener = nullptr);
1382  void getSessionInfo(ActionListenerType listener = nullptr);
1397  void logEvent(int eventId, ActionListenerType listener = nullptr);
1413  void logEventData(int eventId, const std::string &message, ActionListenerType listener = nullptr);
1429  void testProxy(const std::string &url, const std::string &user,
1430  const std::string &password, ActionListenerType listener = nullptr);
1442  void removeProxy(ActionListenerType listener = nullptr);
1456  void setProxy(const std::string &url, ActionListenerType listener = nullptr);
1472  void setAuthProxy(const std::string &url, const std::string &user,
1473  const std::string &password, ActionListenerType listener = nullptr);
1489  void upload(const std::string &file, NodeHandle parent, ActionListenerType listener = nullptr);
1490 
1507  void uploadWithCustomData(const std::string &file, NodeHandle parent, const std::string &customData, ActionListenerType listener = nullptr);
1508 
1523  void download(NodeHandle node, const std::string &parent, ActionListenerType listener = nullptr);
1524 
1540  void downloadWithCustomData(NodeHandle node, const std::string &parent, const std::string &customData, ActionListenerType listener = nullptr);
1541 
1556  void downloadLink(const std::string &link, const std::string &parent, ActionListenerType listener = nullptr);
1557 
1573  void downloadLinkWithCustomData(const std::string &link, const std::string &parent, const std::string &customData, ActionListenerType listener = nullptr);
1574 
1589  void downloadZip(NodeHandle node, const std::string &parent, ActionListenerType listener = nullptr);
1590 
1606  void downloadZipWithCustomData(NodeHandle node, const std::string &parent, const std::string &customData, ActionListenerType listener = nullptr);
1607 
1621  void getTransfers(ActionListenerType listener = nullptr);
1636  void getUnfinishedTransfers(int type, ActionListenerType listener = nullptr);
1651  void getTransfersByType(int type, ActionListenerType listener = nullptr);
1667  void getTransfersByStatus(int type, int status, ActionListenerType listener = nullptr);
1680  void clearFinishedTransfers(ActionListenerType listener = nullptr);
1694  void clearFinishedTransfersByType(int type, ActionListenerType listener = nullptr);
1708  void clearFinishedTransferByTag(int tag, ActionListenerType listener = nullptr);
1721  void cancelTransfers(ActionListenerType listener = nullptr);
1735  void cancelTransfersByType(int type, ActionListenerType listener = nullptr);
1749  void cancelTransferByTag(int tag, ActionListenerType listener = nullptr);
1763  void setUploadSpeedLimit(int kbps, ActionListenerType listener = nullptr);
1777  void setDownloadSpeedLimit(int kbps, ActionListenerType listener = nullptr);
1791  void getUploadSpeedLimit(ActionListenerType listener = nullptr);
1805  void getDownloadSpeedLimit(ActionListenerType listener = nullptr);
1821  void readNode(NodeHandle file, unsigned long startPositon, unsigned long size, ActionListenerType listener = nullptr);
1837  void readLink(const std::string &link, unsigned long startPositon, unsigned long size, ActionListenerType listener = nullptr);
1855  void uploadMetadata(const std::string &file, NodeHandle node, int metadataType, ActionListenerType listener = nullptr);
1873  void downloadMetadata(NodeHandle node, int metadataType, const std::string &parent, ActionListenerType listener = nullptr);
1890  void downloadPublicMetadata(const std::string &metadataInfo, int metadataType, const std::string &parent, ActionListenerType listener = nullptr);
1905  void registerDevice(const std::string &name, ActionListenerType listener = nullptr);
1920  void selectDevice(NodeHandle deviceId, ActionListenerType listener = nullptr);
1934  void getCurrentDevice(ActionListenerType listener = nullptr);
1950  void getDeviceByName(const std::string &name, ActionListenerType listener = nullptr);
1966  void getDeviceById(NodeHandle deviceId, ActionListenerType listener = nullptr);
1980  void getDevices(ActionListenerType listener = nullptr);
1997  void renameDevice(NodeHandle deviceId, const std::string &newName, ActionListenerType listener = nullptr);
2011  void deleteDevice(NodeHandle deviceId, ActionListenerType listener = nullptr);
2029  void getBackupByName(NodeHandle deviceId, const std::string &name, ActionListenerType listener = nullptr);
2045  void getBackupById(NodeHandle backupId, ActionListenerType listener = nullptr);
2059  void getActiveBackups(ActionListenerType listener = nullptr);
2074  void getBackups(NodeHandle deviceId, ActionListenerType listener = nullptr);
2104  void createBackup(const std::string &name, unsigned long startTime, const std::string cronExpr, const std::string &localPath,
2105  int maxSnapshots, int status, ActionListenerType listener = nullptr);
2121  void renameBackup(NodeHandle backupId, const std::string &newName, ActionListenerType listener = nullptr);
2148  void changeBackupSchedule(NodeHandle backupId, unsigned long startTime, std::string cronExpr, ActionListenerType listener = nullptr);
2164  void changeBackupPath(NodeHandle backupId, const std::string &localPath, ActionListenerType listener = nullptr);
2195  void modifyBackup(NodeHandle backupId, const std::string &name, unsigned long startTime, const std::string cronExpr, const std::string &localPath,
2196  int maxSnapshots, int status, ActionListenerType listener = nullptr);
2213  void changeBackupStatus(NodeHandle backupId, int status, ActionListenerType listener = nullptr);
2227  void deleteBackup(NodeHandle backupId, ActionListenerType listener = nullptr);
2242  void authorizeBackup(NodeHandle backupId, ActionListenerType listener = nullptr);
2257  void deauthorizeBackup(NodeHandle backupId, ActionListenerType listener = nullptr);
2272  void getSnapshots(NodeHandle backupId, ActionListenerType listener = nullptr);
2287  void getNextSnapshots(ActionListenerType listener = nullptr);
2303  void getNextSnapshotsForDevice(NodeHandle deviceId, ActionListenerType listener = nullptr);
2320  void getNextSnapshotsForBackup(NodeHandle backupId, int count, ActionListenerType listener = nullptr);
2335  void getNextSnapshotsForAccount(ActionListenerType listener = nullptr);
2363  void getNextSnapshotsForSchedule(unsigned long startTime, const std::string cronExpr, int count, ActionListenerType listener = nullptr);
2377  void getLastSnapshots(ActionListenerType listener = nullptr);
2393  void getLastSnapshotsForDevice(NodeHandle deviceId, ActionListenerType listener = nullptr);
2410  void getLastSnapshotsForBackup(NodeHandle backupId, int count, ActionListenerType listener = nullptr);
2425  void getLastSnapshotsForAccount(ActionListenerType listener = nullptr);
2441  void createInbox(const std::string &name, const std::string &message, ActionListenerType listener = nullptr);
2458  void setInboxInfo(NodeHandle inboxHandle, const std::string &name, const std::string &message, ActionListenerType listener = nullptr);
2474  void getInboxInfo(const std::string &inboxLink, ActionListenerType listener = nullptr);
2488  void getExternalInbox(ActionListenerType listener = nullptr);
2503  void startRecord(const std::string &inboxLink, ActionListenerType listener = nullptr);
2518  void resumeRecord(const std::string &newRecordLink, ActionListenerType listener = nullptr);
2535  void setRecordInfo(const std::string &contactInfo, const std::string &subject, const std::string &message, ActionListenerType listener = nullptr);
2536 
2554  void setEmailRecordInfo(const std::string &from, const std::string &to, const std::string &subject, const std::string &message, ActionListenerType listener = nullptr);
2555 
2569  void uploadToRecord(const std::string &file, ActionListenerType listener = nullptr);
2583  void removeFromRecord(NodeHandle fileHandle, ActionListenerType listener = nullptr);
2597  void finishRecord(ActionListenerType listener = nullptr);
2612  void finishRecordWithRecipient(const std::string &recipient, ActionListenerType listener = nullptr);
2626  void removeRecord(ActionListenerType listener = nullptr);
2642  void getRecordInfo(const std::string &recordLink, ActionListenerType listener = nullptr);
2658  void setRecordStatus(NodeHandle record, unsigned char status, ActionListenerType listener = nullptr);
2674  void getSubscriptionOptions(ActionListenerType listener = nullptr);
2692  void getSubscriptionOptionsWithFeatures(int features, ActionListenerType listener = nullptr);
2706  void setSubscription(int subscriptionId, ActionListenerType listener = nullptr);
2721  void getPaymentInfo(int subscriptionId, ActionListenerType listener = nullptr);
2734  void removePaymentMethod(ActionListenerType listener = nullptr);
2748  void loginLink(const std::string &folderLink, ActionListenerType listener = nullptr);
2761  void logoutLink(ActionListenerType listener = nullptr);
2782  void generateUpdate(const std::string &appName, int version,
2783  const std::string &platform, const std::string &updateFolder,
2784  const std::string &updateUrl, const std::string &changelog,
2785  const std::string &outputFile, const std::string &privateKey,
2786  ActionListenerType listener = nullptr);
2802  void checkUpdate(const std::string &appName, int version, ActionListenerType listener = nullptr);
2819  void downloadUpdate(const std::string &appName, int version, const std::string &downloadFolder, const std::string &installFolder, ActionListenerType listener = nullptr);
2836  void installUpdate(const std::string &appName, int version, const std::string &downloadFolder, const std::string &installFolder, ActionListenerType listener = nullptr);
2837 
2852  void getReferralsInfo(ActionListenerType listener = nullptr);
2866  void getBalancesInfo(ActionListenerType listener = nullptr);
2883  void getCouponInfo(const std::string &coupon, ActionListenerType listener = nullptr);
2897  void getAccountCoupons(ActionListenerType listener = nullptr);
2913  void createResellerCoupon(const std::string &email = std::string(), ActionListenerType listener = nullptr);
2930  void createResellerCouponWithPlan(int planId, const std::string &email = std::string(), ActionListenerType listener = nullptr);
2944  void deleteCoupon(int id, ActionListenerType listener = nullptr);
2957  void addResellerCodeAsPaymentMethod(const std::string &code, ActionListenerType listener = nullptr);
2972  void addDirectDebitAsPaymentMethod(const std::string &iban, const std::string &holder, ActionListenerType listener = nullptr);
2984  void addBankTransferAsPaymentMethod(ActionListenerType listener = nullptr);
2985 
3002  void createJoinLink(const std::string &email, ActionListenerType listener = nullptr);
3003 
3023  void createJoinLinkWithAccessLevel(const std::string &email, int accessLevel, ActionListenerType listener = nullptr);
3024 
3045  void checkJoinLink(const std::string &link, const std::string &email, ActionListenerType listener = nullptr);
3065  void joinAccountWithCurrentUser(AccountHandle account, const std::string &accountKey, ActionListenerType listener = nullptr);
3091  void joinAccount(AccountHandle account, const std::string &accountKey, const std::string &registrationId,
3092  const std::string &name, const std::string &lastName, const std::string &email,
3093  const std::string &password, int pin, ActionListenerType listener = nullptr);
3108  void setDefaultAccount(AccountHandle account, ActionListenerType listener = nullptr);
3122  void revokeAccountAccessOfCurrentUser(ActionListenerType listener = nullptr);
3137  void revokeAccountAccess(UserHandle user, ActionListenerType listener = nullptr);
3152  void addContact(NodeHandle account, const std::string &contactName, ActionListenerType listener = nullptr);
3168  void modifyContact(NodeHandle contact, const std::string &contactName, ActionListenerType listener = nullptr);
3182  void removeContact(NodeHandle contact, ActionListenerType listener = nullptr);
3198  void saveInbox(NodeHandle contact, const std::string &inboxLink, const std::string &outboxName, ActionListenerType listener = nullptr);
3213  void modifySavedInbox(NodeHandle outbox, const std::string &outboxName, ActionListenerType listener = nullptr);
3227  void removeSavedInbox(NodeHandle outbox, ActionListenerType listener = nullptr);
3242  void saveSentRecord(NodeHandle outbox, const std::string &recordLink, ActionListenerType listener = nullptr);
3243 
3258  void setAccessLevel(UserHandle user, int accessLevel, ActionListenerType listener = nullptr);
3273  void createSharedDrive(const std::string &name, ActionListenerType listener = nullptr);
3289  void createVirtuallyNestedSharedDrive(NodeHandle parent, const std::string &name, ActionListenerType listener = nullptr);
3290  void nestSharedDrive(NodeHandle sharedDrive, NodeHandle parent, ActionListenerType listener = nullptr);
3291  void unnestSharedDrive(NodeHandle sharedDrive, ActionListenerType listener = nullptr);
3305  void deleteSharedDrive(NodeHandle sharedDrive, ActionListenerType listener = nullptr);
3319  void getSharedDriveInfo(NodeHandle sharedDrive, ActionListenerType listener = nullptr);
3333  void getSharedDrives(ActionListenerType listener = nullptr);
3349  void shareDriveWithAccountByLink(NodeHandle sharedDrive, const std::string &accountLink, ActionListenerType listener = nullptr);
3368  void shareDriveWithAccountByLinkWithAccessLevel(NodeHandle sharedDrive, const std::string &accountLink, int accessLevel, ActionListenerType listener = nullptr);
3384  void shareDriveWithAccount(NodeHandle sharedDrive, AccountHandle account, ActionListenerType listener = nullptr);
3403  void shareDriveWithAccountAndAccessLevel(NodeHandle sharedDrive, AccountHandle account, int accessLevel, ActionListenerType listener = nullptr);
3418  void unshareDriveWithAccount(NodeHandle sharedDrive, AccountHandle account, ActionListenerType listener = nullptr);
3425  void archiveSharedDrive(NodeHandle sharedDrive, ActionListenerType listener = nullptr);
3432  void unarchiveSharedDrive(NodeHandle sharedDrive, ActionListenerType listener = nullptr);
3448  void getMeetingAccess(NodeHandle sharedDrive, ActionListenerType listener = nullptr);
3463  void getAccountLog(unsigned short page = 1, ActionListenerType listener = nullptr);
3480  void verifyHash(const std::string base64Hash, const std::string filePath, ActionListenerType listener = nullptr);
3494  void getNoticeCredentials(ActionListenerType listener = nullptr);
3508  void sendCrashReport(const std::string &file, ActionListenerType listener = nullptr);
3519  void addEventListener(EventListenerType listener);
3530  void removeEventListener(EventListenerType listener);
3541  void addActionListener(ActionListenerType listener);
3552  void removeActionListener(ActionListenerType listener);
3553  virtual void onActionFinish(Action action) override;
3554 
3555 protected:
3559  static bool mInitialized;
3563  static std::string mAppId;
3567  static int mAppVersion;
3571  static CrashManager *mCrashManager;
3575  CallbackDispatcher *mCallbackDispatcher;
3579  ApiClient *mClient;
3583  Loop *mLoop;
3584 };
3585 
3586 }
3587 
3588 #endif // IBERBOX
std::string getWorkingDirectory()
Gets the working directory path.
The iberbox namespace.
Definition: task.h:21
LogLevelType
Definition: iberbox.h:147
void setUserAgent(const std::string &userAgent)
Sets the user agent.
CryptoSchemeType
Definition: iberbox.h:158
uint64_t NodeHandle
Definition: node.h:26
uint64_t AccountHandle
Definition: node.h:27
The IberboxSettings class.
Definition: iberbox.h:37
IberboxSettings()
IberboxSettings default constructor.
virtual ~IberboxSettings()
IberboxSettings default destructor.
SortOrderType
The SortOrderType enum.
Definition: iberbox.h:129
void setWorkingDirectory(const std::string &path)
Sets the working directory.
The Task Manager class.
Definition: task.h:27
std::shared_ptr< ActionData > Action
Definition: action.h:33
IberboxSettings * IberboxSettingsType
IberboxSettingsType.
Definition: iberbox.h:105
std::string getUserAgent()
Gets the current user agent.
Definition: iberbox.h:139
Definition: iberbox.h:143
Definition: iberbox.h:138
The Action Listener class.
Definition: action.h:683
The Iberbox class.
Definition: iberbox.h:115
Definition: events.h:207
UserId UserHandle
Definition: user.h:34