diff -r f5050f1da672 -r 04becd199f91 javacommons/utils/inc/applicationinfo.h --- /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. + *
+ * 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. + *
+ * 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 +