--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javacommons/utils/inc/applicationinfo.h Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ApplicationInfo is an abstract base class for API implementations,
+* which allows getting application related static information.
+*
+*/
+
+
+#ifndef APPLICATIONINFO_H
+#define APPLICATIONINFO_H
+
+#include "javaosheaders.h"
+#include "javauid.h"
+
+/**
+ * Available in library: javautils
+ *
+ */
+
+namespace java
+{
+
+namespace runtime
+{
+
+class ApplicationInfo
+{
+
+public:
+ /**
+ * The destructor
+ */
+ OS_IMPORT virtual ~ApplicationInfo();
+
+ /**
+ * Returns an instance of ApplicationInfo class which provides access to
+ * application related static information.
+ * <p>
+ * Note! It is guaranteed that this service is available in MIDP
+ * runtime. Other runtimes may not provide this service.
+ *
+ * @return the ApplicationInfo object, throws java::util::ExceptionBase
+ * if the service is not avalable.
+ */
+ OS_IMPORT static const ApplicationInfo& getInstance();
+
+ /**
+ * Returns the root path of the application. The root path means an
+ * application specific directory where the different API implementations
+ * are able to write their files. No other applications are able to access
+ * files under the root path.
+ * <p>
+ * API implemetations must not rely that the JAR file(s) or descriptor file
+ * can always be found from the root path, even if they sometimes might be
+ * found.
+ * @return application root path as wstring
+ */
+ virtual const std::wstring& getRootPath() const = 0;
+
+ /**
+ * Returns a unique application identifier.
+ *
+ * @return the Uid of the application.
+ */
+ virtual const java::util::Uid& getUid() const = 0;
+
+
+protected:
+ /**
+ * The constructor. Only derived class is allowed to construct this class.
+ */
+ OS_IMPORT ApplicationInfo();
+
+private: // Methods
+ /**
+ * No copy constructor allowed.
+ */
+ ApplicationInfo(const ApplicationInfo&);
+
+ /**
+ * No Assignment operator allowed.
+ */
+ ApplicationInfo& operator= (const ApplicationInfo&);
+
+};
+
+} // end namespace runtime
+} // end namespace java
+#endif // APPLICATIONINFO_H
+