namespace Core::Platform
Overview
namespace Platform { // namespaces namespace Core::Platform::CurrentProcess; namespace Core::Platform::CurrentThread; namespace Core::Platform::Debug; namespace Core::Platform::FileSystem; namespace Core::Platform::HighPerformanceClock; namespace Core::Platform::Network; namespace Core::Platform::PosixSocketSets; namespace Core::Platform::SSLTypes; namespace Core::Platform::SocketSets; namespace Core::Platform::StaticThreads; namespace Core::Platform::SystemClock; namespace Core::Platform::SystemClock::Helper; namespace Core::Platform::TLS; // typedefs typedef const DiscoveryContext* DiscoveryRef; typedef AndroidTextRecord TextRecord; typedef AndroidTextRecordBuilder TextRecordBuilder; typedef ServiceTargetDescriptorBase<AndroidTextRecord> ServiceTargetDescriptor; typedef BrowseReplyHandlerBase<AndroidTextRecord, DiscoveryRef> BrowseReplyHandler; typedef RegisterReplyHandlerBase<DiscoveryRef> RegisterReplyHandler; typedef PosixFileIterator FileIterator; typedef PosixFileStream FileStream; typedef PosixSharedMemory SharedMemory; typedef PosixSemaphore Semaphore; typedef PosixPipe Pipe; typedef AndroidSocket Socket; typedef PosixSocketIDSet SocketIDSet; typedef AndroidSSLContext SSLContext; typedef AndroidThread Thread; typedef PosixLock Lock; typedef PosixSignal Signal; typedef RecursiveReadWriteLock<PosixReadWriteLock, Lock> AndroidRecursiveReadWriteLock; typedef AndroidRecursiveReadWriteLock ReadWriteLock; typedef CocoaAtomicStack AtomicStack; typedef CocoaDynamicLibrary DynamicLibrary; typedef SocketAddressConverter PosixSocketAddressConverter; typedef PosixAdapterIterator AdapterIterator; typedef RecursiveReadWriteLock<PosixReadWriteLock, Lock> LinuxRecursiveReadWriteLock; typedef int TextRecordRef; typedef UIntPtr SocketID; typedef sockaddr NativeSocketAddress; typedef ServiceTargetDescriptorBase<PosixTextRecord> PosixServiceTargetDescriptor; typedef BrowseReplyHandlerBase<PosixTextRecord, DiscoveryRef> PosixBrowseReplyHandler; typedef RegisterReplyHandlerBase<DiscoveryRef> PosixRegisterReplyHandler; typedef int* DIR; typedef ::ADDRESS_FAMILY sa_family_t; typedef RecursiveReadWriteLock<Win32ReadWriteLock, Lock> Win32RecursiveReadWriteLock; // structs struct AndroidTextRecordData; template <typename TextRecord, typename DiscoveryRef> struct BrowseReplyHandlerBase; template <typename T> struct IAdapterIterator; struct IAtomicStack; struct IDynamicLibrary; struct IFileIterator; struct IFileStream; struct IFileSystem; struct ILock; struct INetwork; struct IPipe; struct IReadWriteLock; struct ISSLContext; struct ISSLContextIOHandler; struct ISemaphore; struct ISharedMemory; struct ISignal; struct ISocket; struct ISocketIDSet; struct ISystemSupervisor; struct ITextRecord; struct IThread; struct IThreadEntry; struct ListEntry; struct ListHeader; struct PosixTextRecord; template <typename DiscoveryRef> struct RegisterReplyHandlerBase; struct ServiceDescriptor; template <typename TextRecord> struct ServiceTargetDescriptorBase; struct SocketAddressConverter; struct TextRecord; struct ThreadInfo; struct ThreadPriorityHandler; struct TypeDescriptor; struct dirent; // classes class AndroidFileSystem; class AndroidSSLContext; class AndroidSocket; class AndroidTextRecord; class AndroidTextRecordBuilder; class AndroidThread; class AzureLock; class AzureReadWriteLock; class AzureSignal; class AzureThread; class CmsisLock; class CmsisReadWriteLock; class CmsisSignal; class CmsisThread; class CocoaAtomicStack; class CocoaDynamicLibrary; class CocoaFileSystem; class CocoaNetwork; class CocoaSSLContext; class CocoaSocket; class CocoaThread; class CtlLock; class CtlReadWriteLock; class CtlSignal; class CtlThread; class DiscoveryBrowseContext; class DiscoveryContext; class DiscoveryHandler; class DiscoveryServiceContext; class DynamicLibraryStub; class FileIteratorBase; class FileIteratorStub; class FileStreamStub; class FileSystemStub; template <class SupervisorConfig> class FixedSystemSupervisor; template <typename TextRecord> class ITextRecordBuilder; class LKLock; class LKReadWriteLock; class LKSignal; class LKThread; class LinuxSemaphore; class LinuxThread; class LockStub; class LwIPAdapterIterator; class LwIPNetwork; class LwIPSocket; class OpenSSLContext; class OpenSSLInitializer; class PipeStub; class PosixAdapterIterator; class PosixAtomicStack; class PosixDiscoveryHandler; class PosixDynamicLibrary; class PosixFileIterator; class PosixFileStream; class PosixFileSystem; class PosixLock; class PosixNetwork; class PosixPipe; class PosixReadWriteLock; class PosixSemaphore; class PosixSharedMemory; class PosixSignal; class PosixSocket; class PosixSocketIDSet; class PosixTextRecordBuilder; class PosixThread; class ReadWriteLockStub; template <class RWLock, class Lock> class RecursiveReadWriteLock; class RegTypeString; class SSLContextStub; class SecureChannel; class SemaphoreStub; class SharedMemoryStub; class SignalStub; class StreamBuffer; class TI32Socket; class TextRecordBuilder; class ThreadStub; class Win32AdapterIterator; class Win32AtomicStack; class Win32DynamicLibrary; class Win32FileIterator; class Win32FileSystem; class Win32Lock; class Win32Network; class Win32Pipe; class Win32ReadWriteLock; class Win32SSLContext; class Win32Semaphore; class Win32SharedMemory; class Win32Signal; class Win32Socket; class Win32Thread; class WindowsTextRecord; class WindowsTextRecordBuilder; class ZephyrLock; class ZephyrReadWriteLock; class ZephyrSignal; class ZephyrThread; // global variables getHost getPort getServiceName getServiceType getAttributes removeAttribute; getHost getPort getServiceName getServiceType getAttributes jstring V Ljava net InetAddress; V I V Ljava lang String; V CORE_CLASS_PREFIX NsdAdapter discoverServices; V CORE_CLASS_PREFIX NsdAdapter jstring resolveService; V CORE_CLASS_PREFIX NsdAdapter jstring jobject unregisterService; V CORE_CLASS_PREFIX NsdAdapter jstring jobject jobject J V L CORE_CLASS_PREFIX NsdDiscoveryHandler; V Landroid net nsd NsdServiceInfo; L CORE_CLASS_PREFIX NsdRegistrationHandler; getCacheDir Ljava io File; dev ccl core CurrentContext Landroid content Context; const CStringPtr kThreadName = "Android Thread"; static const long kSec2Micro = 1000000L; static const long kSec2Milli = 1000L; static const long kSec2Nano = 1000000000L; const unsigned char DT_DIR = 0; // global functions DECLARE_JNI_CLASS(NsdServiceInfo, "android/net/nsd/NsdServiceInfo"); getHost DECLARE_JNI_METHOD(void, setHost, jobject); getHost getPort DECLARE_JNI_METHOD(void, setPort, int); getHost getPort getServiceName DECLARE_JNI_METHOD(void, setServiceName, jstring); getHost getPort getServiceName getServiceType DECLARE_JNI_METHOD( void, setServiceType, jstring ); getHost getPort getServiceName getServiceType getAttributes DECLARE_JNI_METHOD( void, setAttribute, jstring, jstring ); getHost getPort getServiceName getServiceType getAttributes jstring END_DECLARE_JNI_CLASS(NsdServiceInfo); getHost getPort getServiceName getServiceType getAttributes jstring V DEFINE_JNI_METHOD( getHost, "()Ljava/net/InetAddress;" ); V DEFINE_JNI_METHOD(getPort, "()I"); V I V DEFINE_JNI_METHOD(getServiceName, "()Ljava/lang/String;"); V DEFINE_JNI_METHOD(getServiceType, "()Ljava/lang/String;"); V DEFINE_JNI_METHOD(getAttributes, "()Ljava/util/Map;"); V DEFINE_JNI_METHOD(removeAttribute, "(Ljava/lang/String;)V"); V CORE_CLASS_PREFIX NsdAdapter DECLARE_JNI_CONSTRUCTOR( construct, Java::JniIntPtr ); V CORE_CLASS_PREFIX NsdAdapter jstring DECLARE_JNI_METHOD( void, stopDiscovery, jobject ); V CORE_CLASS_PREFIX NsdAdapter jstring jobject DECLARE_JNI_METHOD( jobject, registerService, jobject ); V CORE_CLASS_PREFIX NsdAdapter jstring jobject jobject END_DECLARE_JNI_CLASS(NsdAdapter); V CORE_CLASS_PREFIX NsdAdapter jstring jobject jobject J V DEFINE_JNI_METHOD( discoverServices, "(Ljava/lang/String;)L" CORE_CLASS_PREFIX "NsdDiscoveryHandler;" ); V DEFINE_JNI_METHOD( resolveService, "(Landroid/net/nsd/NsdServiceInfo;)L" CORE_CLASS_PREFIX "NsdResolveHandler;" ); DECLARE_JNI_CLASS(Context, "android/content/Context"); getCacheDir DECLARE_JNI_METHOD(jobject, getFilesDir); DEFINE_JNI_METHOD(getFilesDir, "()Ljava/io/File;"); dev ccl core CurrentContext DECLARE_JNI_STATIC_METHOD(jobject, get); int shm_open(const char* name, int oflag, mode_t mode); int pthread_yield(void); int pthread_cancel(pthread_t thread); int pthread_attr_setinheritsched(pthread_attr_t* attr, int flag); INLINE void MemoryFence(); INLINE int32 AtomicAdd(int32 volatile& variable, int32 value); INLINE int32 AtomicSet(int32 volatile& variable, int32 value); INLINE int32 AtomicGet(const int32 volatile& variable); INLINE bool AtomicTestAndSet( int32 volatile& variable, int32 value, int32 comperand ); INLINE void* AtomicSetPtr(void*volatile& variable, void* value); INLINE void* AtomicGetPtr(void*const volatile& variable); INLINE bool AtomicTestAndSetPtr( void*volatile& variable, void* value, void* comperand ); ISystemSupervisor& GetSystemSupervisor(); int closedir(DIR* handle); DIR* opendir(const char* name); dirent* readdir(DIR* dirp); int mkdir(const char* path, int mode); int truncate(const char* path, off_t length); } // namespace Platform
Detailed Documentation
Typedefs
typedef SocketAddressConverter PosixSocketAddressConverter
Helper class to convert from Core-style to native address.
Global Functions
INLINE void MemoryFence()
A full memory barrier synchronizing data in all threads.
INLINE int32 AtomicAdd(int32 volatile& variable, int32 value)
Atomic addition.
Parameters:
variable |
First addend and variable to store the result |
value |
Second addend |
Returns:
The initial value of variable
INLINE int32 AtomicSet(int32 volatile& variable, int32 value)
Atomic assignment.
Parameters:
variable |
Variable to assign the value to |
value |
The value to assign |
Returns:
The initial value of variable
INLINE int32 AtomicGet(const int32 volatile& variable)
Get the value of a variable.
Parameters:
variable |
Variable to get the value from |
Returns:
The value of variable
INLINE bool AtomicTestAndSet( int32 volatile& variable, int32 value, int32 comperand )
Atomic compare-and-exchange.
Compares variable and comperand. If both are equal, value is stored into variable. Otherwise, no operation is performed.
Parameters:
variable |
Variable to assign the value to |
value |
The value to assign |
comperand |
Value to compare variable to |
Returns:
True if variable and comperand were equal. False otherwise.
INLINE void* AtomicSetPtr(void*volatile& variable, void* value)
Atomic pointer assignment.
Parameters:
variable |
Variable to assign the value to |
value |
The value to assign |
Returns:
The initial value of variable
INLINE void* AtomicGetPtr(void*const volatile& variable)
Get the address of a pointer.
Parameters:
variable |
Variable to get the value from |
Returns:
The value of variable
INLINE bool AtomicTestAndSetPtr( void*volatile& variable, void* value, void* comperand )
Atomic compare-and-exchange for pointer values.
Compares variable and comperand. If both are equal, value is stored into variable. Otherwise, no operation is performed.
Parameters:
variable |
Variable to assign the value to |
value |
The value to assign |
comperand |
Value to compare variable to |
Returns:
True if variable and comperand were equal. False otherwise.