2 * Copyright (c) 2023 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.ComponentModel;
19 using System.Runtime.InteropServices;
21 using Tizen.Internals;
23 namespace Tizen.System
25 [NativeStruct("subsession_event_info", Include="sessiond.h", PkgConfig="libsessiond")]
26 [StructLayout(LayoutKind.Explicit)]
27 internal struct SubsessionEventInfoNative
30 public SessionEventType eventType;
32 public int sessionUID;
35 public Int64 switchID;
37 /// The following 4 fields are here just for the record and for the NativeStruct validation
38 /// which is performed as one of the steps during build with GBS.
39 /// However, we've verified that representing the whole structure as IntPtr and accessing
40 /// individual string fields with PtrToStructure with and PtrToStringAnsi + IntPtr.Add is
41 /// the only way to make it work. That's why we do not use these fields and they shouldn't
42 /// be accessed directly.
44 private IntPtr AddUserPtr;
46 private IntPtr RemoveUserPtr;
48 private IntPtr PrevUserPtr;
50 private IntPtr NextUserPtr;