-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPortal.Instance.iOSX.h
117 lines (84 loc) · 3.31 KB
/
Portal.Instance.iOSX.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/**
* PortalsInstance iOSX
* ------------------------------------------------------------------
* Copyright (c) Chi-Tai Dang
*
* @author Chi-Tai Dang
* @version 1.0
* @remarks
*
* This file is part of the Environs framework developed at the
* Lab for Human Centered Multimedia of the University of Augsburg.
* http://hcm-lab.de/environs
*
* Environ is free software; you can redistribute it and/or modify
* it under the terms of the Eclipse Public License v1.0.
* A copy of the license may be obtained at:
* http://www.eclipse.org/org/documents/epl-v10.html
* --------------------------------------------------------------------
*/
#pragma once
#ifndef INCLUDE_HCM_ENVIRONS_PORTALINSTANCE_IOSX_H
#define INCLUDE_HCM_ENVIRONS_PORTALINSTANCE_IOSX_H
#import "Environs.iOSX.Imp.h"
#import "Environs.Observer.iOSX.h"
#ifdef __cplusplus
#include "Portal.Info.h"
#include "Environs.Types.h"
#endif
/**
* PortalsInstance iOSX
*
* @author Chi-Tai Dang, dang@hcm-lab.de, University of Augsburg
* @version 1.0
* @remarks
* ****************************************************************************************
*/
@interface PortalInstance :
#ifdef ENVIRONS_IOS
NSObject<UIAlertViewDelegate>
#else
NSObject
#endif
{
}
#ifdef __cplusplus
/** Perform the tasks asynchronously. If set to Environs.CALL_SYNC, the commands will block (if possible) until the task finishes. */
@property (nonatomic) environs::Call_t async;
@property (readonly, nonatomic) environs::PortalStatus_t status;
#endif
/** An ID that identifies this portal across all available portals. */
@property (readonly, nonatomic) int portalID;
/** true = Object is disposed and not updated anymore. */
@property (readonly, nonatomic) bool disposed;
/** A DeviceInstance object that this portal relates to. */
@property (readonly) id device;
@property (readonly, nonatomic) bool disposeOngoing;
@property (nonatomic) bool startIfPossible;
/** true = outgoing (Generator), false = incoming (Receiver). */
@property (readonly, nonatomic) bool outgoing;
@property (readonly, nonatomic) bool isIncoming;
@property (readonly, nonatomic) bool isOutgoing;
/** Application defined contexts for arbitrary use. */
@property (strong, nonatomic) id appContext1;
@property (strong, nonatomic) id appContext2;
@property (strong, nonatomic) id appContext3;
@property (strong, nonatomic) id appContext4;
// Exclude cpp related code from objective c headers
#ifdef __cplusplus
@property (readonly, nonatomic) environs::PortalInfo * info;
@property (nonatomic) environs::PortalType_t portalType;
- (environs::PortalInfoBase *) GetPortalInfo : (int)portalID;
- (bool) SetPortalInfo : (environs::PortalInfoBase *)infoBase;
#endif
- (void) AddObserver : (id<PortalObserver>) observer;
- (void) RemoveObserver : (id<PortalObserver>) observer;
- (bool) Establish : (bool) askForType;
- (bool) Start;
- (bool) Stop;
- (bool) SetRenderSurface : (id)surface;
- (bool) SetRenderSurface : (id)surface Width:(int)width Height:(int)height;
- (bool) ReleaseRenderSurface;
- (PortalInstance *) GetPortal:(int)nativeID PortalID:(int)portalID;
@end
#endif /// INCLUDE_HCM_ENVIRONS_PORTALINSTANCE_IOSX_H